- Aug 19, 2015
-
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
In case discover_uri returns NULL info, passing the info to discoverer APIs result in critical assertion errors. Hence instead of passing NULL info along, print the error and return. https://bugzilla.gnome.org/show_bug.cgi?id=753701
-
- Aug 18, 2015
-
-
Sebastian Dröge authored
This reverts commit 5c8ef0ea.
-
Sebastian Dröge authored
This reverts commit 1ea81114.
-
Sebastian Dröge authored
This reverts commit a3b24f02.
-
Sebastian Dröge authored
Fixes spurious flow errors that especially break gst-validate.
-
Sebastian Dröge authored
Fixes some crashes.
-
Sebastian Dröge authored
Fixes some crashes.
-
When running gst-play against a directory name, and suffix the path with a directory separator (e.g. tab completion), gst-play was printing two directory separators in a row. g_build_filename fixes this, and additionally allows for both '/' and '\' as separators on Windows.
-
Sebastian Dröge authored
-
Sebastian Dröge authored
It's only relevant for each group, and by storing it in the group we have locking and everything else like for the other buffering-related variables. Locking looks a bit fishy still, but it was like that for a long time already so shouldn't be worse than before.
-
Overview: There are some of interleaved streams which has long-term location of audio data. It mean the audio data is located far away more than multiqueue size. In this case, because of multiqueue overrun, the pipeline is stopped. To prevent hanging-like state, the decodebin needs to handle the queue size. Caused: The multiqueue size is not enough, the pipeline will stay being stalled status and decodebin cannot complete to build decode chain. In this issue file, decodebin did not receive no_more_pads signal or audio data yet. Steps to Reproduce: play the high-resolution(4K file) files or some streaming media(push mode). Actual Results: There is no audio or subtitle. We can see only video or infinite loading. Resolution: Decodebin detect this problem, and add extra buffer size to multiqueue. The multiqueue is larger than before, the next data can be pushed the downstream element. Additional Information: The max-preroll extra buffer size is set 8MB. We can use total pre-roll buffer 10MB. Only first overrun callback can handle multiqueue size. https://bugzilla.gnome.org/show_bug.cgi?id=733235
-
Tim-Philipp Müller authored
Merge upstream tags with encoder tags and update whenever any of those changes. https://bugzilla.gnome.org/show_bug.cgi?id=679768
-
Tim-Philipp Müller authored
Merge upstream tags with encoder tags and update whenever any of those changes. https://bugzilla.gnome.org/show_bug.cgi?id=679768
-
Sebastian Dröge authored
Used in DASH among other things, as SMPTE Timed Text.
-
When discovering the URI, if info is NULL, then instead of just returning NULL, set the GError, so the error can be printed and notified. https://bugzilla.gnome.org/show_bug.cgi?id=753701
-
- Aug 17, 2015
-
-
When g_option_context_parse or gst_discoverer_new fails, then there will be memory leaks for ctx and err variables. Free'ing the same. https://bugzilla.gnome.org/show_bug.cgi?id=753701
-
- Aug 16, 2015
-
-
Tim-Philipp Müller authored
-
Tim-Philipp Müller authored
Before we just merged everything in pretty much random ways ad-hoc instead of keeping state properly. In 0.10 that was how it worked, but in 1.x the tag events sent should always reflect the latest state and replace any previous tags. So save the upstream (stream) tags, and save the tags set by the decoder subclass with merge mode, and then update the merged tags whenever either of those two changes. This slightly changes the behaviour of gst_video_decoder_merge_tags() in case it is called multiple times, since now any call replaces the previously-set tags. However, it leads to much more predictable outcomes, and also we are not aware of any subclass which sets this multiple times and expects all the tags set to be merged. If more complex tag merging scenarios are required, we'll have to add a new vfunc for that or the subclass has to intercept the upstream tags itself and send merged tags itself. https://bugzilla.gnome.org/show_bug.cgi?id=679768
-
-
Tim-Philipp Müller authored
Before we just merged everything in pretty much random ways ad-hoc instead of keeping state properly. In 0.10 that was how it worked, but in 1.x the tag events sent should always reflect the latest state and replace any previous tags. So save the upstream (stream) tags, and save the tags set by the decoder subclass with merge mode, and then update the merged tags whenever either of those two changes. This slightly changes the behaviour of gst_audio_decoder_merge_tags() in case it is called multiple times, since now any call replaces the previously-set tags. However, it leads to much more predictable outcomes, and also we are not aware of any subclass which sets this multiple times and expects all the tags set to be merged. If more complex tag merging scenarios are required, we'll have to add a new vfunc for that or the subclass has to intercept the upstream tags itself and send merged tags itself. https://bugzilla.gnome.org/show_bug.cgi?id=679768
-
Thiago Santos authored
It is faster than doing a query that propagates downstream and should be enough
-
Thiago Santos authored
Removes the need for custom caps query handling and makes it more correct from the beginning on the template. It is a bit uglier to read because there is 1 entry per channel but makes code easier to maintain.
-
Thiago Santos authored
It is faster than doing a query that propagates downstream and should be enough
-
Thiago Santos authored
Allows subclasses to do their own handling of GstQuery and still chain up to the parent class to handle the ones that they don't want to handle
-
Edward Hervey authored
We were using the wrong variable ... CID #1316477
-
- Aug 15, 2015
-
-
When an upstream element wants to flush downstream, we need to take all chains/groups into consideration. To that effect, when a FLUSH_START event is seen, after having it sent downstream we mark all those chains/groups as "drained" (as if they had seen a EOS event on the endpads). When a FLUSH_STOP event is received, we check if we need to switch groups. This is done by checking if there are next groups. If so, we will switch over to the latest next_group. The actual switch will be done when that group is blocked. https://bugzilla.gnome.org/show_bug.cgi?id=606382
-
When upstream events/queries reach sinkpads of unlinked groups (i.e. no longer linked to the upstream demuxer), this patch attempts to find the linked group and forward it upstream of that group. This is done by adding upstream event/query probes on new group sinkpads and then: * Checking if the pad is linked or not (has a peer or not) * If there is a peer, just let the event/query follow through normally * If there is no peer, we find a pad to which to proxy it and return GST_PROBE_HANDLED if it succeeded (allowing the event/query to be properly returned to the initial called) Note that this is definitely not thread-safe for the time being https://bugzilla.gnome.org/show_bug.cgi?id=606382
-
Thiago Santos authored
Apparently I forgot how gobject works, there is no need to expose it directly as one can call it from the parent_class pointer This reverts commit 8a645924.
-
Thiago Santos authored
Apparently I forgot how gobject works, there is no need to expose it directly as one can call it from the parent_class pointer This reverts commit ea9b6a7e.
-
Thiago Santos authored
Avoids useless check of downstream caps when handling an accept-caps query
-
Thiago Santos authored
Avoids useless check of downstream caps when handling an accept-caps query
-
Thiago Santos authored
Add gst_audio_decoder_set_use_default_pad_acceptcaps() to allow subclasses to make videodecoder use the default pad acceptcaps handling instead of resorting to the caps query that is, usually, less efficient and unecessary API: gst_audio_decoder_set_use_default_pad_acceptcaps
-
Thiago Santos authored
Add gst_video_decoder_set_use_default_pad_acceptcaps() to allow subclasses to make videodecoder use the default pad acceptcaps handling instead of resorting to the caps query that is, usually, less efficient and unecessary API: gst_video_decoder_set_use_default_pad_acceptcaps
-
Jan Schmidt authored
Use the object lock to protect the internal segment when updating against access from getting the stats property. Fix a critical in gst-inspect or when retrieving the stats before any segment has arrived by checking whether the segment has been initted..
-
Jan Schmidt authored
When we see prefix NALs before a Subset SPS has been spotted, it might just be because the stream was truncated at the start, so don't count those as either 'bad' or 'good' packets.
-
- Aug 14, 2015
-
-
George Kiagiadakis authored
Just for consistency. No need to keep data around.
-
George Kiagiadakis authored
Just for consistency with the preroll_segment
-