After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 740693 - decodebin: Analyze source pad before setting to PAUSED for 'tag demuxers'
decodebin: Analyze source pad before setting to PAUSED for 'tag demuxers'
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
unspecified
Other All
: Normal normal
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 740563
 
 
Reported: 2014-11-25 16:03 UTC by Thibault Saunier
Modified: 2014-11-26 18:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
decodebin: Analyze source pad before setting to PAUSED for 'tag demuxers' (2.70 KB, patch)
2014-11-25 16:03 UTC, Thibault Saunier
none Details | Review
decodebin: Analyze source pad before setting to PAUSED for 'simple demuxers' (3.48 KB, patch)
2014-11-25 17:21 UTC, Thibault Saunier
committed Details | Review

Description Thibault Saunier 2014-11-25 16:03:44 UTC
Before we were setting them to PAUSED and (much) later connecting to
their source pad caps notify signal.

There was a race where that demuxer was pushing a caps and later a buffer
on its source pad when we were not even connected to its source pad caps notify
signal leading to decodebin missing the information and not keeping on
building the pipeline on CAPS event thus the demuxer was posting an ERROR
(not linked) message on the bus. This need to be done for 'tag
demuxers' because those have one ALWAYS source pad, not like usual demuxers
that have several dynamic source pads.
Comment 1 Thibault Saunier 2014-11-25 16:03:46 UTC
Created attachment 291472 [details] [review]
decodebin: Analyze source pad before setting to PAUSED for 'tag demuxers'
Comment 2 Sebastian Dröge (slomo) 2014-11-25 16:26:38 UTC
Can't we just connect to the signals earlier? Or instead of making this conditional to "Tag" demuxers, make it conditional to demuxers that have at least one always srcpad?
Comment 3 Thibault Saunier 2014-11-25 17:21:28 UTC
Created attachment 291481 [details] [review]
decodebin: Analyze source pad before setting to PAUSED for 'simple demuxers'

Before we were setting them to PAUSED and (much) later connecting to
their source pad caps notify signal.

There was a race where that demuxer was pushing a caps and later a buffer
on its source pad when we were not even connected to its source pad caps notify
signal leading to decodebin missing the information and not keeping on
building the pipeline on CAPS event thus the demuxer was posting an ERROR
(not linked) message on the bus. This need to be done for 'simple
demuxers' because those have one ALWAYS source pad, not like usual demuxers
that have several dynamic source pads.

A "simple demuxer" is a demuxer that has one and only one ALWAYS source
pad.
Comment 4 Mathieu Duponchelle 2014-11-26 18:42:16 UTC
Author: Thibault Saunier <tsaunier@gnome.org>
Date:   Tue Nov 25 13:39:07 2014 +0100

    decodebin: Analyze source pad before setting to PAUSED for 'simple demuxers'
    
    Before we were setting them to PAUSED and (much) later connecting to
    their source pad caps notify signal.
    
    There was a race where that demuxer was pushing a caps and later a buffer
    on its source pad when we were not even connected to its source pad caps notify
    signal leading to decodebin missing the information and not keeping on
    building the pipeline on CAPS event thus the demuxer was posting an ERROR
    (not linked) message on the bus. This need to be done for 'simple
    demuxers' because those have one ALWAYS source pad, not like usual demuxers
    that have several dynamic source pads.
    
    A "simple demuxer" is a demuxer that has one and only one ALWAYS source
    pad.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=740693
Comment 5 Mathieu Duponchelle 2014-11-26 18:42:57 UTC
Review of attachment 291481 [details] [review]:

commited