Created
April 17, 2021 10:46
-
-
Save martijnberger/7813fe146e6a27108964d8a20e157279 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
commit 10c6262179ee66ff03ed7dbebf46068b89db93b0 | |
Author: Sebastian Dröge <[email protected]> | |
Date: Sun Nov 1 10:30:27 2020 +0200 | |
flvmux: Release pads via GstAggregator | |
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/797 | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/803> | |
commit 428c9b60532917c0ac49c9d48b15bdcd00a1370b | |
Author: Jan Alexander Steffens (heftig) <[email protected]> | |
Date: Thu Sep 10 11:11:00 2020 +0200 | |
flvmux: Improve logging of gst_flv_mux_buffer_to_tag_internal | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/759> | |
commit 189e85ed62e37cc40ca945ceb0fe8881a02455a3 | |
Author: Jan Alexander Steffens (heftig) <[email protected]> | |
Date: Wed Sep 9 15:12:53 2020 +0200 | |
flvmux: Move stream skipping to GstAggregatorPadClass.skip_buffer | |
Besides looking like the correct place to put this, it allows us to drop | |
the entire aggregator queue. The old implementation only dropped at most | |
one buffer for each call of aggregate. | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/759> | |
commit 2d08d16002205040bbaaf589f2294b886ee0e6d2 | |
Author: Jan Alexander Steffens (heftig) <[email protected]> | |
Date: Mon Aug 31 15:01:32 2020 +0200 | |
flvmux: Avoid crash when best pad gets flushed | |
The 'best' pad might receive a flush event between us picking it and us | |
popping the buffer. In this case, the buffer will be missing. | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/711> | |
commit 01594d19b8dfac38226910d1b10231c26133c7f9 | |
Author: Jan Alexander Steffens (heftig) <[email protected]> | |
Date: Mon Aug 31 13:43:42 2020 +0200 | |
flvmux: Correct breaks in gst_flv_mux_find_best_pad | |
The code seems to use `continue` and `break` as if both refer to the | |
surrounding `while` loop. But because `break` breaks out of the | |
`switch`, they actually have the same effect. | |
This may have caused the loop not to terminate when it should. E.g. when | |
`skip_backwards_streams` drops a buffer we should abort the aggregation | |
and wait for all pads to be filled again. Instead, we might have just | |
selected a subsequent pad as our new "best". | |
Replace `break` with `done = TRUE; break`, and `continue` with `break`. | |
Then simplify the code a bit. | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/710> | |
commit c95cc6a015e1880dd3d74abcffc1b2c346e8f423 | |
Author: Vivia Nikolaidou <[email protected]> | |
Date: Mon Aug 10 20:20:53 2020 +0300 | |
flvmux: Return NEED_DATA when we drop a buffer | |
When we are dropping a buffer in find_best_pad (e.g. waiting for a | |
keyframe, or skipping backwards timestamp), return | |
GST_AGGREGATOR_FLOW_NEED_DATA to make sure we have enough data at the | |
next run. Otherwise, a stream that accidentally fell behind (e.g. | |
relinking race, or just waiting for a keyframe) will never get the | |
opportunity to catch up to the other one, because the other one will | |
always keep advancing. | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/696> | |
commit 75f6ca8a11684757a4751edeae1964b24c9cbb6b | |
Author: Vivia Nikolaidou <[email protected]> | |
Date: Mon Aug 10 20:20:04 2020 +0300 | |
flvmux: Return NEED_DATA when no best pad is found | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/696> | |
commit 59aab55e715015b048cc766decd843023cb84dda | |
Author: Vivia Nikolaidou <[email protected]> | |
Date: Mon Aug 10 20:17:38 2020 +0300 | |
flvmux: Fix possible crash on GST_ITERATOR_RESYNC | |
Wrong pointer type | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/696> | |
commit 556e7ab210777ccca9b77f9fd1863ac34c8a1ade | |
Author: Sebastian Dröge <[email protected]> | |
Date: Fri Jun 12 09:52:56 2020 +0300 | |
flvdemux: Change a GST_ERROR_OBJECT() back to GST_DEBUG_OBJECT() | |
It was accidentally changed in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/436 | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/624> | |
commit f63299ff2f774e858c384cd3998b203541a9631a | |
Author: Mathieu Duponchelle <[email protected]> | |
Date: Sat Jun 6 00:42:25 2020 +0200 | |
plugins: uddate gst_type_mark_as_plugin_api() calls | |
commit 37c619f9954045602a61daf4bceff4cd0e4f70cf | |
Author: Mathieu Duponchelle <[email protected]> | |
Date: Sat May 30 01:29:03 2020 +0200 | |
plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types | |
commit 2c278bb2ab498216ef444a9b22ea85631ad43f0f | |
Author: Sebastian Dröge <[email protected]> | |
Date: Wed May 20 13:17:13 2020 +0300 | |
flvdemux: Send gap events if one of the streams falls behind the other by more than 3s | |
Same mechanism and threshold as in other demuxers. | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/597> | |
commit 0bb9880b36053411dd37dc3cc822331eb01ee675 | |
Author: Sebastian Dröge <[email protected]> | |
Date: Wed May 20 12:53:56 2020 +0300 | |
flvdemux: Remove unused audio_linked/video_linked booleans | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/597> | |
commit 5dd3643d9474acc3095c43afda8ad70a567f286b | |
Author: Edward Hervey <[email protected]> | |
Date: Wed May 20 10:46:45 2020 +0200 | |
flvdemux: Answer bitrate queries from upstream | |
If upstream (such as queue2 in urisourcebin) asks for our bitrate, check if we | |
have stored audio/video bitrates, and use them. | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/596> | |
commit e8282661b624190688017b739ae595eaf806e328 | |
Author: Edward Hervey <[email protected]> | |
Date: Wed May 20 10:45:16 2020 +0200 | |
flvdemux: Handle empty metadata strings | |
g_utf8_validate() errors out on empty string. But empty strings are valid, | |
so only check if they're not | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/596> | |
commit 9f5f90651597e6fa6d04db415374f1b0d278ae5e | |
Author: Edward Hervey <[email protected]> | |
Date: Wed May 20 10:44:19 2020 +0200 | |
flvdemux: Set ACCEPT_TEMPLATE flag on sinkpad | |
A demuxer can accept any caps matching its sinkpad template caps | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/596> | |
commit 6a389615610c72eef3766a650f087478e4d991e0 | |
Author: Vivia Nikolaidou <[email protected]> | |
Date: Tue Mar 31 14:32:19 2020 +0300 | |
flvmux: Add skip-backwards-streams property | |
Backwards timestamps confuse librtmp, even if they're only backwards | |
relative to the other stream. If the timestamp of a stream is going | |
backwards related to the other stream, this property allows the muxer to | |
skip a few buffers until it reaches the timestamp of the other stream. | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/572> | |
commit b0855113c628abe0581fb5f410f9db20a65bca40 | |
Author: Vivia Nikolaidou <[email protected]> | |
Date: Tue Mar 31 14:10:35 2020 +0300 | |
flvmux: Allow requesting streamable pads after header is written | |
Allows us to request pads after writing header for streamable flv's. | |
For non-streamable it doesn't make sense to request a new pad after | |
writing the header, because the headers have been written already and we | |
can't add the new stream. But for streamable, any clients that connect | |
after the new pad has been added will be able to see both streams. | |
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/572> | |
commit 9189cdcb1d703084e530f2439aa9b277040b4991 | |
Author: Vivia Nikolaidou <[email protected]> | |
Date: Wed Apr 8 19:49:00 2020 +0300 | |
flvdemux: Don't write an empty string as a tag | |
To stop warnings like: | |
GStreamer-WARNING **: 19:47:48.186: Trying to set empty string on | |
taglist field 'encoder'. Please file a bug. | |
commit a3933ea53d2a11ed40c288122a2eb065d5ce7069 | |
Author: Jan Schmidt <[email protected]> | |
Date: Fri Apr 3 00:16:10 2020 +1100 | |
flvmux: Fix invalid padlist accesses. | |
Request pads can released at any time, so make sure to hold | |
the object lock when iterating the element sinkpads list where | |
that's safe, or to use other safe pad iteration patterns in | |
other places. | |
When choosing a best pad, return a reference to the pad to make sure it | |
stays alive for output in the aggregator srcpad task. | |
Should fix a spurious valgrind error in the CI flvmux tests and some | |
other potential problems if the request sink pads are released while | |
the element is running.. | |
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/714 | |
commit e836640bd555a025160d52d689a9391c3697bb7d | |
Author: Yeongjin Jeong <[email protected]> | |
Date: Tue Feb 18 14:58:00 2020 +0900 | |
flvmux: Support rollover in timestamp | |
For live streams, if we keep the stream for a long time, the timestamp | |
will be larger than max_uint32. In that case, timestamp should be handled | |
as a rollover timestamp rather than a backward timestamp. | |
commit 7cbc351e053f727ba17cbf4a7b7d19a428ca38c3 | |
Author: Vivia Nikolaidou <[email protected]> | |
Date: Mon Dec 16 18:43:44 2019 +0200 | |
flvdemux: Don't replace video codec data when we receive a PAR | |
Receiving a pixel-aspect-ratio should trigger a caps change, but not | |
replace the existing video codec tag | |
commit 9e0eb7781076441c9704d2383708e49399e7da9d | |
Author: Jan Alexander Steffens (heftig) <[email protected]> | |
Date: Thu Dec 12 10:59:35 2019 +0100 | |
flvmux: Use the last DTS for the metadata timestamp | |
This avoids creating a timestamp regression during a stream. | |
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/429 | |
commit 5009cad2200c04a6f8845ad0e661ad6a91bc7d83 | |
Author: Seungha Yang <[email protected]> | |
Date: Tue Dec 10 23:48:35 2019 +0900 | |
flvmux: Use thread-safe gmtime_r if available | |
gmtime on *nix is not thread-safe. | |
commit 06600b2cd957b92c176f2d14ea9722f4c40505ac | |
Author: Jan Alexander Steffens (heftig) <[email protected]> | |
Date: Tue Dec 3 13:47:22 2019 +0100 | |
flvmux: Correct metadata handling in file and stream mode | |
In file mode, only push one onMetaData at the start of the stream. | |
In stream mode, always push complete onMetaData. They get replaced, not | |
merged. | |
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/418 | |
commit 6fdb6ece6e97b9f47fb737ec68943bfed2f3df90 | |
Author: Jan Alexander Steffens (heftig) <[email protected]> | |
Date: Tue Dec 3 13:46:09 2019 +0100 | |
flvmux: Don't calculate duration in streamable mode | |
There's no header to rewrite, so the duration is left unused. | |
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/418 | |
commit 8e1c224fbc217d43f5b34cf63b3883c871dcecf2 | |
Author: Edward Hervey <[email protected]> | |
Date: Fri Oct 11 14:20:15 2019 +0200 | |
good: Avoid usage of deprecated API | |
GTimeval and related functions are now deprecated in glib. | |
Replacement APIs have been present since 2.26 | |
commit c9a47c0c8db30a19d1402d76e93c688d11d73cdb | |
Author: Tim-Philipp Müller <[email protected]> | |
Date: Sun Jun 9 00:43:00 2019 +0100 | |
Remove autotools build system | |
commit 46989dca9665f5a1b28a83f68415c91fee7bc051 | |
Author: Aaron Boxer <[email protected]> | |
Date: Mon Sep 2 08:27:35 2019 -0400 | |
documentation: fix a number of typos | |
commit 152b0026587c8fe84f4ad07eb4960b5409595a6a | |
Author: Jan Alexander Steffens (heftig) <[email protected]> | |
Date: Mon Jun 24 17:35:15 2019 +0200 | |
flvmux: Clear new_tags if sending metadata in header | |
This avoids sending an additional metadata object right after the | |
headers. | |
commit 9528bfd78f496be11c69f55258e820d391178829 | |
Author: Jan Alexander Steffens (heftig) <[email protected]> | |
Date: Wed Jun 19 12:31:46 2019 +0200 | |
flvmux: Simplify an if-else chain | |
Merge the identical branches and turn the condition around to make it | |
easier to read. | |
commit 9a70ce87dba5be92b5bb5ca53ce5584df0332b0e | |
Author: Jan Alexander Steffens (heftig) <[email protected]> | |
Date: Wed Jun 19 12:28:22 2019 +0200 | |
flvmux: Avoid crash when changing caps without both streams | |
mux->video_pad and mux->audio_pad can be NULL if the corresponding pad | |
has not been requested. | |
commit af0198853415cd64f5f6b8bba3e0affd68431752 | |
Author: Thibault Saunier <[email protected]> | |
Date: Mon Oct 22 11:39:55 2018 +0200 | |
doc: Port documentation to hotdoc | |
commit 0a6a62aa7652f0b5a689d4cecbc031b763c2000a | |
Author: Thibault Saunier <[email protected]> | |
Date: Mon Oct 22 11:39:24 2018 +0200 | |
docs: Port all docstring to gtk-doc markdown | |
commit 3160713abf3b216870054cc4e09791f09f9b3140 | |
Author: Andreas Frisch <[email protected]> | |
Date: Fri Mar 15 10:41:20 2019 +0100 | |
flvmux: Fix scale of time values in warning message | |
commit 6db7bb1539cca081d810bd7eb30d1cc244655297 | |
Author: Ilya Smelykh <[email protected]> | |
Date: Fri Feb 8 16:10:25 2019 +0000 | |
flvmux: Use 8kHz sample rate for alaw/mulaw audio | |
commit b9c4c8bca5709dde83db6b1fe421e2d938d469c1 | |
Author: Ilya Smelykh <[email protected]> | |
Date: Thu Feb 7 09:54:31 2019 +0000 | |
flvdemux: set sample rate to 8KHz for G.711 audio | |
commit bc8af2cca5bc1465c4837ef6ebfc394ad7f9b9a2 | |
Author: Thibault Saunier <[email protected]> | |
Date: Sat Jan 26 10:35:31 2019 -0300 | |
flvdemux: Do not error out if the first added and chained pad is not linked | |
And let it the oportunity to get its other pad linked | |
Example: | |
``` | |
$ gst-launch-1.0 uridecodebin uri=file:///home/thiblahute/gst-validate.save/gst-integration-testsuites/testsuites/../medias/defaults/flv/819290236.flv caps=audio/x-raw expose-all-streams=FALSE ! fakesink | |
Setting pipeline to PAUSED ... | |
Pipeline is PREROLLING ... | |
ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstFlvDemux:flvdemux0: Internal data stream error. | |
Additional debug info: | |
../subprojects/gst-plugins-good/gst/flv/gstflvdemux.c(2760): gst_flv_demux_loop (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstFlvDemux:flvdemux0: | |
streaming stopped, reason not-linked (-1) | |
ERROR: pipeline doesn't want to preroll. | |
Setting pipeline to NULL ... | |
Freeing pipeline ... | |
``` | |
commit ab8100e664fd8eb2f9afd488fcac76ca7022b7f7 | |
Author: Sebastian Dröge <[email protected]> | |
Date: Wed Jan 9 17:52:28 2019 +0200 | |
flvdemux: Handle the encoder metadata the same as metadatacreator | |
And store it in our ENCODER tag. | |
commit c28a9d5d9ce28c089107bd0209709616c5d741d3 | |
Author: Sebastian Dröge <[email protected]> | |
Date: Wed Jan 9 17:48:36 2019 +0200 | |
flvmux: Add encoder metadata to the header | |
And also add a property for setting this. By default it has the same | |
value as the metadatacreator metadata. | |
Various software is using encoder instead of metadatacreator, others are | |
using them both for different purposes. As such it's useful to have | |
support for setting both here. | |
commit ec655de2887e4ce213277e6c3db51cc8c156a652 | |
Author: Maciej Wolny <[email protected]> | |
Date: Mon Nov 19 18:20:52 2018 +0000 | |
Remove duplicate declarations | |
This causes 'redefinition of typedef ...' errors on GCC 4.5.3 | |
commit fea0d0b1a4757ab199f2b57b4ff3ffefac1034e4 | |
Author: Olivier Crête <[email protected]> | |
Date: Sat Oct 27 19:27:12 2018 +0100 | |
flvmux: Force timestamps to always be increasing | |
https://bugzilla.gnome.org/show_bug.cgi?id=796382 | |
commit bd6a4aa10d233e52370ee6ee80c32ef2659c48ea | |
Author: Yeongjin Jeong <[email protected]> | |
Date: Thu Oct 11 16:36:17 2018 +0900 | |
flvdemux: Use aac codec-data to adjust channels if needed | |
Flv does not support various channels in AAC stream format, for example | |
flvdemux detect an audio channels of 2(stereo) when the AAC really is 1(mono). | |
https://bugzilla.gnome.org/show_bug.cgi?id=797275 | |
commit 8cae95a22d5d1ea7b817263af7b9e657900c964c | |
Author: Yeongjin Jeong <[email protected]> | |
Date: Fri Oct 5 17:16:26 2018 +0900 | |
flvmux: Don't refuse caps changes after starting to write headers in streamable mode. | |
Flv does support changing the stream type and stream properties | |
after the headers were started to be written, and for example H264 | |
codec_data changes can be supported. | |
https://bugzilla.gnome.org/show_bug.cgi?id=797256 | |
commit 916ad090091902fec99aa2e20dfae1427e8bc630 | |
Author: Seungha Yang <[email protected]> | |
Date: Thu Sep 20 12:12:55 2018 +0900 | |
flvmux: Don't leak codec_data buffer | |
Use gst_buffer_replace() to prevent buffer leak | |
https://bugzilla.gnome.org/show_bug.cgi?id=797179 | |
commit 1cd5a5241f3f0450f03fc54c5fe2e43b75ae4e7d | |
Author: Seungha Yang <[email protected]> | |
Date: Thu Sep 6 13:13:19 2018 +0900 | |
flvmux: Don't omit streamheader from caps on downstream reconfigure | |
The reconfigured downstream elements (e.g., dynamically added sink element) | |
most likely require the flv streamheader | |
https://bugzilla.gnome.org/show_bug.cgi?id=797089 | |
commit 87b2b35fac1622a8a587beeefca9d027530802c1 | |
Author: Olivier Crête <[email protected]> | |
Date: Mon Apr 23 13:29:30 2018 -0400 | |
flvmux: Remove custom get_next_time implementation | |
GstAggregator now does the same thing in the simple implementation. | |
https://bugzilla.gnome.org/show_bug.cgi?id=795486 | |
commit c2c7d110e5d68bc86babfffbcb02632d98155e2e | |
Author: Olivier Crête <[email protected]> | |
Date: Mon Apr 23 11:26:12 2018 -0400 | |
flvmux: Don't wake up the muxer unless there is data | |
https://bugzilla.gnome.org/show_bug.cgi?id=795332 | |
commit 11297c333712e5f613493e37b31c4b0643698f7d | |
Author: Olivier Crête <[email protected]> | |
Date: Mon Apr 23 11:19:18 2018 -0400 | |
flvmux: Save the current position in the output segment | |
https://bugzilla.gnome.org/show_bug.cgi?id=795332 | |
commit 168fae813b9e22e18873eef26e7ea2ae7f5de170 | |
Author: Olivier Crête <[email protected]> | |
Date: Thu Apr 19 17:53:51 2018 -0400 | |
flvmux: Wait for caps from both srcs before writing header | |
Wait for caps on all pads to start writing data even when source is live. | |
Includes unit test by Havard Graff that simulates it. | |
https://bugzilla.gnome.org/show_bug.cgi?id=794722 | |
commit edd9c8f6b874f19fb74436c599effc03a655b969 | |
Author: Xavier Claessens <[email protected]> | |
Date: Tue Apr 24 14:06:10 2018 -0400 | |
Meson: Generate pc file for all plugins in good | |
https://bugzilla.gnome.org/show_bug.cgi?id=794568 | |
commit fc9db36a1f124e4ceb1d6ee35245d9794f595f29 | |
Author: Mathieu Duponchelle <[email protected]> | |
Date: Fri Apr 13 23:01:20 2018 +0200 | |
flvmux: unref return of aggregator_pad_peek_buffer | |
We ended up leaking every single buffer going through the | |
muxer, which is far from ideal | |
commit acb6090e47ac36495c92ba30a9656e566ca1bc95 | |
Author: Mathieu Duponchelle <[email protected]> | |
Date: Fri Apr 13 22:44:14 2018 +0200 | |
flvmux: aggregate should not push EOS itself | |
Instead it is expected to return GST_FLOW_EOS, and let the | |
base class handle that. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment