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 738695 - mpegtsbase: do not remove programs on EOS
mpegtsbase: do not remove programs on EOS
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
1.4.1
Other Linux
: Normal normal
: 1.4.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-10-17 16:01 UTC by Matthieu Bouron
Modified: 2014-10-30 15:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
mpegtsbase: reset demuxer on EOS (2.23 KB, patch)
2014-10-17 16:02 UTC, Matthieu Bouron
needs-work Details | Review
mpegtsbase: do not programs on EOS (1.61 KB, patch)
2014-10-24 15:21 UTC, Matthieu Bouron
committed Details | Review

Description Matthieu Bouron 2014-10-17 16:01:41 UTC
Allow mpegtsbase to process new data after reaching EOS.
Comment 1 Matthieu Bouron 2014-10-17 16:02:21 UTC
Created attachment 288759 [details] [review]
mpegtsbase: reset demuxer on EOS
Comment 2 Sebastian Dröge (slomo) 2014-10-20 10:39:16 UTC
Review of attachment 288759 [details] [review]:

This does not seem correct. _reset() will call klass->reset() as before, which in the case of tsdemux will reset the group id and send a new stream-start event. That's not how it should be after EOS.
Comment 3 Matthieu Bouron 2014-10-24 15:21:20 UTC
Created attachment 289283 [details] [review]
mpegtsbase: do not programs on EOS

As a consequence, tsdemux won't remove its pads anymore on EOS.

Fixes the case when mpegtsbase is not able to process new packets after EOS as the corresponding pids aren't known anymore because the programs were removed and the pes/psi were kept, preventing the PAT to be parsed again.
Comment 4 Edward Hervey 2014-10-30 15:44:43 UTC
Pushed to master and 1.4

It's actually more critical than that, since you couldn't even send any events to the demuxer (like ... SEEK) after EOS.


commit cdd02e9b929333a1f0f492626c3efccf562e67a3
Author: Matthieu Bouron <matthieu.bouron@collabora.com>
Date:   Fri Oct 24 16:52:42 2014 +0200

    mpegtsbase: do not remove programs on EOS
    
    As a consequence, tsdemux won't remove its pads anymore on EOS.
    
    Fixes the case when mpegtsbase is not able to process new packets
    after EOS as the corresponding pids aren't known anymore because
    the programs were removed and the pes/psi were kept, preventing the
    PAT to be parsed again.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=738695
    
    Conflicts:
        gst/mpegtsdemux/mpegtsbase.c