{"push_id":1414395311,"size":23,"distinct_size":23,"ref":"refs/heads/master","head":"e8935510875a7ef614b2127093f6c6b8c5cebc12","before":"67c785bc507a4b5f5567eed257d71b0b61770f1b","commits":[{"sha":"f8a4acbb2b8ba81fee9aac27bb2ccd762fff464d","author":{"name":"Mikhail Fludkov","email":"d0c84fb22196e766dc5196fc2adb774e07c50d94@pexip.com"},"message":"h264parse: Support output of nalu-stream format\n\nSupport converting to nalu-stream format - one NALU per buffer\nwithout startcodes.","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/f8a4acbb2b8ba81fee9aac27bb2ccd762fff464d"},{"sha":"ad14d199c80734cda90f322eca12fae820ccd4cf","author":{"name":"Stian Selnes","email":"f5dbdf83deb1a6777e8c67b759f62f8e5853ef2c@pexip.com"},"message":"h263parse: Add debug log for more annexes when plustype","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/ad14d199c80734cda90f322eca12fae820ccd4cf"},{"sha":"e211f24d64727419fb7029b4948aaa3415d613c3","author":{"name":"Havard Graff","email":"7d2f48dd84ae3b214d31dc0a0dd693aa87ba3273@gmail.com"},"message":"tests-check: disable building the streamheader test\n\nIt creates a warning in Clang, because it somehow adds the -pthread flag.","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/e211f24d64727419fb7029b4948aaa3415d613c3"},{"sha":"a837bd80cc9854512b7d2b0e4214ec6241f7b66a","author":{"name":"David Buchmann","email":"198b8b6274b00f63eaf362046b2843fc87884e0c@gmail.com"},"message":"rtmpsrc: Expose bandwidth info from librtmp","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/a837bd80cc9854512b7d2b0e4214ec6241f7b66a"},{"sha":"bd5cfbed55cc0ea8af798cb80ed8d33746ad6f6c","author":{"name":"Havard Graff","email":"7d2f48dd84ae3b214d31dc0a0dd693aa87ba3273@gmail.com"},"message":"rtmpsrc: use old code for unlock\n\nThe problem with calling RTMP_Close in unlock, is that this can (and do)\ncause MT-issues with an ongoing call to RTMP_Read in _create. There is\nalso no way you could protect this with a mutex, since the main purpose\nof _unlock in RTMP is to stop an ongoing (potentially long blocking) call\nto RTMP_Read, and mutexing them against eachother then misses the point.\n\nBy simply doing a shutdown on the socket, you are MT-safe in terms of\nwhat RTMP_Read might be doing, as well as instantly unblocking a potential\ntcp-timeout on a server that has gone missing etc.","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/bd5cfbed55cc0ea8af798cb80ed8d33746ad6f6c"},{"sha":"e185b10c6e2dc7681731b0664adae274e4352656","author":{"name":"Havard Graff","email":"7d2f48dd84ae3b214d31dc0a0dd693aa87ba3273@gmail.com"},"message":"rtmpsrc: move RTMP_Connect to _create\n\nSince connecting involves a handshake over TCP, it makes sense that\nthis comes from the same thread as the following TCP traffic.","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/e185b10c6e2dc7681731b0664adae274e4352656"},{"sha":"90a2fb36b2cf0a7dc0403949f6f2dcf084ca6407","author":{"name":"Havard Graff","email":"7d2f48dd84ae3b214d31dc0a0dd693aa87ba3273@gmail.com"},"message":"rtmpsrc: plug leaks in error-scenarios","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/90a2fb36b2cf0a7dc0403949f6f2dcf084ca6407"},{"sha":"0bcae47b75d81291ebaaef894264bc4cb4079473","author":{"name":"Nico Cormier","email":"f2f0015ebcb0193c3ae77ca5c4608007a91b1e9b@pexip.com"},"message":"rtmpsrc: Revert flow error for now, chasing #6051","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/0bcae47b75d81291ebaaef894264bc4cb4079473"},{"sha":"71ed5a003e8a8cfbfa31fab6b1d895f4afab89ea","author":{"name":"David Buchmann","email":"198b8b6274b00f63eaf362046b2843fc87884e0c@gmail.com"},"message":"rtmpsrc: Do not return FLOW_ERROR for connection that are closed","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/71ed5a003e8a8cfbfa31fab6b1d895f4afab89ea"},{"sha":"247ba8a431492bb7a627c7b44c0541ed9a1cad0d","author":{"name":"Havard Graff","email":"7d2f48dd84ae3b214d31dc0a0dd693aa87ba3273@gmail.com"},"message":"rtmpsrc: protect all access to the rtmp-object with the lock\n\nOr else it can and will crash.","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/247ba8a431492bb7a627c7b44c0541ed9a1cad0d"},{"sha":"ddddc9205a2fbeee1ed6e09640d29d1b92995da4","author":{"name":"Havard Graff","email":"7d2f48dd84ae3b214d31dc0a0dd693aa87ba3273@gmail.com"},"message":"rtmpsink: add _unlock() and tests for it\n\nThe main problem this patch is trying to solve, is that librtmp can\npoentially block a connection or a write for a very long time, potentially\nstalling the application for as long as a TCP timeout can last (30 sec)\n\nHowever, doing this in a MT safe way is much harder then it would appear.\nThe \"most common\" scenario would be that librtmp is currently doing\na write on the socket, and we terminate this write by using shutdown\non that internal socket. Now, had we instead used RTMP_Close, we will\noften interfer with internal state inside librtmp as they are being used,\nso shutdown is our only option here. We need to add a close() as well,\nsince the tests showed that even though we successfully cancelled one\nwrite, while doing a handshake there can be another one as well, and\nonly by doing close are we preventing that second one from happening.\n\nBy also protecting the internal state with a lock, we then use _trylock\nto figure out that we in fact are not allowed to touch the internal state,\nbut then instead use shutdown...\n\nFinally, a looping wait is added for the case where the rtmp-lock has been\ntaken, but the internals of librtmp have not yet allocated the socket\nit is about to work with, meaning our shutdown would fail silently, and\nwe would still be waiting \"forever\".\n\nAll of these changes are needed to make the supplied tests pass. Maybe\nan atomic counter could be more elegant then using lock and trylock, but\nit felt like the right solution, since we are both eliminating the\ninternal state completely, and when not allowed to do so, using shutdown\nto break the wait.","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/ddddc9205a2fbeee1ed6e09640d29d1b92995da4"},{"sha":"b1e7b0c86077dc802f52f45cabb5f6a0f7a03321","author":{"name":"David Buchmann","email":"198b8b6274b00f63eaf362046b2843fc87884e0c@gmail.com"},"message":"rtmpsink: Port PROP_PACKETS_SENT from pre-1.0 merge so that management\nstatistics has meaningful values","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/b1e7b0c86077dc802f52f45cabb5f6a0f7a03321"},{"sha":"0b205d6c2915c3693d18be0d19d980cadf53affd","author":{"name":"Havard Graff","email":"7d2f48dd84ae3b214d31dc0a0dd693aa87ba3273@gmail.com"},"message":"rtmpsink: ease up on connect failures\n\nWe don't like FLOW_ERROR in our pipes.","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/0b205d6c2915c3693d18be0d19d980cadf53affd"},{"sha":"42f585adc0fb1f493f8d0701fc45604941897d6c","author":{"name":"Havard Graff","email":"7d2f48dd84ae3b214d31dc0a0dd693aa87ba3273@gmail.com"},"message":"rtmpsrc: allow connect and read to be interrupted.","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/42f585adc0fb1f493f8d0701fc45604941897d6c"},{"sha":"ac65b8b100268f93375160d0549fdcb9174207f6","author":{"name":"Havard Graff","email":"7d2f48dd84ae3b214d31dc0a0dd693aa87ba3273@gmail.com"},"message":"rtmpsrc: rtmpsink: don't do close on internal sockets","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/ac65b8b100268f93375160d0549fdcb9174207f6"},{"sha":"29934834a9078db1fcb9538814489b2a7a259d0d","author":{"name":"Havard Graff","email":"7d2f48dd84ae3b214d31dc0a0dd693aa87ba3273@gmail.com"},"message":"rtmpsink: return FLOW_OK always\n\nFLOW_ERROR seems to create havoc for us internally, so blaming it for\nsome troubles with shutdown.","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/29934834a9078db1fcb9538814489b2a7a259d0d"},{"sha":"c9e41d35975a1d24d96c90d3f7014d00c352751f","author":{"name":"Havard Graff","email":"7d2f48dd84ae3b214d31dc0a0dd693aa87ba3273@gmail.com"},"message":"opusparse: fix uninitialized-warning","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/c9e41d35975a1d24d96c90d3f7014d00c352751f"},{"sha":"44dcf6d2136d7ad476a667759380e446cdaf74ee","author":{"name":"Stian Selnes","email":"f5dbdf83deb1a6777e8c67b759f62f8e5853ef2c@pexip.com"},"message":"netsim: Refactor and gst-indent","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/44dcf6d2136d7ad476a667759380e446cdaf74ee"},{"sha":"162079f9ac7b17bc6ad9ed42d213bc979397f6ea","author":{"name":"Stian Selnes","email":"f5dbdf83deb1a6777e8c67b759f62f8e5853ef2c@pexip.com"},"message":"netsim: Token bucket algorithm for simulating network congestion","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/162079f9ac7b17bc6ad9ed42d213bc979397f6ea"},{"sha":"a4c11ff4d64de7959eead1fdefc74734aca9d4a1","author":{"name":"Stian Selnes","email":"f5dbdf83deb1a6777e8c67b759f62f8e5853ef2c@pexip.com"},"message":"netsim: Add property delay-distribution. Add normal distribution.\n\nBy using the property delay-distribution the user can control how the\ndelay applied to delayed packets is distributed. This is either the\nuniform distribution (as before) or the normal distribution.\n\nmin-delay and max-delay control both distributions. For the normal\ndistribution it defines the bounds of the 95% confidence interval.","distinct":true,"url":"https://api.github.com/repos/pexip/gst-plugins-bad/commits/a4c11ff4d64de7959eead1fdefc74734aca9d4a1"}]}
{"actor":{"display_login":"floodkoff"}}