gstreamer/gst-libs/gst/pbutils
Mathieu Duponchelle 5d6b3b60cb gst-discoverer: use state changes instead of ASYNC_DONE.
And monitor no_more_pads.

With live sources such as rtsp, uridecodebin only creates its
child decodebins between PAUSED and PLAYING.

This means that the ASYNC_DONE it posts when getting NO_PREROLL
in its change_state method gets immediately propagated by the
GstBin parent class, as opposed to a situation where a
decodebin has been added to it already, and has posted ASYNC_START.

The proposed solution, instead of simply waiting for ASYNC_DONE,
and finishing prematurely in that case, waits for three conditions
to be true:

* the uridecodebin needs to have emitted no_more_pads
* its current state must be PAUSED if not live, PLAYING otherwise
* There must be no "pending subtitle pads", ie pads where we haven't
  received tags yet.

All these conditions are checked in the message handler, as we
post custom messages on it when we get subtitle tags or no_more_pads.

https://bugzilla.gnome.org/show_bug.cgi?id=783257
2017-05-31 05:10:21 +02:00
..
.gitignore pbutils: New Discoverer utility 2010-09-20 13:11:42 +02:00
codec-utils.c docs: Convert gtkdoc comments to markdown 2017-03-10 18:19:17 -03:00
codec-utils.h pbutils: mark symbols explicitly for export with GST_EXPORT 2017-05-16 15:22:38 +01:00
descriptions.c docs: Convert gtkdoc comments to markdown 2017-03-10 18:19:17 -03:00
descriptions.h pbutils: mark symbols explicitly for export with GST_EXPORT 2017-05-16 15:22:38 +01:00
encoding-profile.c No need for newlines in debug log statements 2017-04-12 09:58:49 +01:00
encoding-profile.h pbutils: mark symbols explicitly for export with GST_EXPORT 2017-05-16 15:22:38 +01:00
encoding-target.c encoding-target: Properly free temporary list 2017-01-06 11:40:20 -03:00
encoding-target.h pbutils: mark symbols explicitly for export with GST_EXPORT 2017-05-16 15:22:38 +01:00
gstaudiovisualizer.c docs: Convert gtkdoc comments to markdown 2017-03-10 18:19:17 -03:00
gstaudiovisualizer.h pbutils: mark symbols explicitly for export with GST_EXPORT 2017-05-16 15:22:38 +01:00
gstdiscoverer-types.c discoverer: copy over result and seekable fields when copying a discoverer info 2016-04-02 10:09:46 +01:00
gstdiscoverer.c gst-discoverer: use state changes instead of ASYNC_DONE. 2017-05-31 05:10:21 +02:00
gstdiscoverer.h pbutils: mark symbols explicitly for export with GST_EXPORT 2017-05-16 15:22:38 +01:00
gstpluginsbaseversion.c docs: Convert gtkdoc comments to markdown 2017-03-10 18:19:17 -03:00
gstpluginsbaseversion.h.in pbutils: fix stand-alone version header include 2017-05-21 17:43:12 +01:00
install-plugins.c docs: Convert gtkdoc comments to markdown 2017-03-10 18:19:17 -03:00
install-plugins.h pbutils: mark symbols explicitly for export with GST_EXPORT 2017-05-16 15:22:38 +01:00
Makefile.am pbutils: mark symbols explicitly for export with GST_EXPORT 2017-05-16 15:22:38 +01:00
meson.build meson: Pass --c-include accordingly to GIR builds 2017-04-13 12:23:32 +01:00
missing-plugins.c docs: Convert gtkdoc comments to markdown 2017-03-10 18:19:17 -03:00
missing-plugins.h pbutils: mark symbols explicitly for export with GST_EXPORT 2017-05-16 15:22:38 +01:00
pbutils-private.h pbutils: Mark private functions as G_GNUC_INTERNAL 2016-07-08 15:44:26 +03:00
pbutils.c docs: Convert gtkdoc comments to markdown 2017-03-10 18:19:17 -03:00
pbutils.h pbutils: mark symbols explicitly for export with GST_EXPORT 2017-05-16 15:22:38 +01:00
pbutils_mkenum.py pbutils: mark symbols explicitly for export with GST_EXPORT 2017-05-16 15:22:38 +01:00