[Bug 738285] New: playbin: Sequential playback of the file list does not work
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Fri Oct 10 03:38:16 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=738285
GStreamer | gst-plugins-base | git
Summary: playbin: Sequential playback of the file list does not
work
Classification: Platform
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: sarakusha at gmail.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=288200)
View: https://bugzilla.gnome.org/attachment.cgi?id=288200
Review: https://bugzilla.gnome.org/review?bug=738285&attachment=288200
for inspect
simple example (Sequential playback of the file list):
== start ========================================
static GMainLoop *loop;
static gint index = 0;
static gchar* list[] = {
"media_uri_1",
"media_uri_2",
NULL
};
static void
play_next(GObject *playbin, gpointer user_data)
{
const gchar *next = list[++index];
if (next == NULL) {
g_main_loop_quit (loop);
}
g_object_set(playbin, "uri", next, NULL);
}
int main()
{
...
GstElement *playbin = gst_element_factory_make("playbin", "playbin");
g_signal_connect(G_OBJECT(playbin), "about-to-finish", (GCallback)play_next,
NULL);
g_object_set(G_OBJECT(playbin), "uri", list[index], NULL);
gst_element_set_state(playbin, GST_STATE_PLAYING);
...
}
== end =========================================
To make it easier to explain, apply example.patch from attachment
View log from attachemt:
line 1540 (EOS from audio):
0:00:09.175147876
gstdecodebin2.c:4475:source_pad_event_probe:<decodebin0:src_1> we received EOS
line 1551 (inspect result EOS event):
0:00:09.175320269 gstdecodebin2.c:4632:gst_decode_pad_event:<decodebin0:src_1>
EOS result: unknown, 1
Why 'unknown'?
This EOS event will be sticked (result != GST_FLOW_OK)!
line 1601 (EOS from video):
0:00:10.165434115
gstdecodebin2.c:4475:source_pad_event_probe:<decodebin0:src_0> we received EOS
line 1623 (inspect result EOS event, all right)
0:00:10.168051241 gstdecodebin2.c:4632:gst_decode_pad_event:<decodebin0:src_0>
EOS result: ok, 0
PLAY next file
call 'setup_next_source' form gstplaybin2.c
line 1796 (reconfiguring & unblocking):
0:00:10.194371416 gstplaysink.c:3181:gst_play_sink_do_reconfigure:<playsink>
reconfiguring
line 1809 ... (audio pad):
0:00:10.199289077 gstdecodebin2.c:4616:gst_decode_pad_chain:<decodebin1:src_1>
Buffer 0:00:00.000000000
0:00:10.199311819 gstdecodebin2.c:4618:gst_decode_pad_chain:<decodebin1:src_1>
push result eos
0:00:10.199517290 gstdecodebin2.c:4616:gst_decode_pad_chain:<decodebin1:src_1>
Buffer 0:00:00.024000000
0:00:10.199599560 gstdecodebin2.c:4618:gst_decode_pad_chain:<decodebin1:src_1>
push result eos
0:00:10.199842973 gstdecodebin2.c:4616:gst_decode_pad_chain:<decodebin1:src_1>
Buffer 0:00:00.048000000
0:00:10.199894467 gstdecodebin2.c:4618:gst_decode_pad_chain:<decodebin1:src_1>
push result eos
...
EOS sticky
line 2655:
0:00:10.335347188
gststreamsynchronizer.c:348:gst_stream_synchronizer_sink_event:<streamsynchronizer0:sink_0>
Stream 0 is waiting
finish
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list