return;
}
- /* new start > ts->start, so this new entry goes after the first one */
+ /* new start > ts->end, so this new entry goes after the first one */
GST_LOG ("%p inserting new entry %d %" GST_TIME_FORMAT
" to %" GST_TIME_FORMAT, si, i + 1, GST_TIME_ARGS (start),
GST_TIME_ARGS (end));
start = gst_segment_to_stream_time (&si->seg, GST_FORMAT_TIME, start);
end = gst_segment_to_stream_time (&si->seg, GST_FORMAT_TIME, end);
+ GST_DEBUG_OBJECT (pad, "new buffer %" GST_TIME_FORMAT
+ " to %" GST_TIME_FORMAT, GST_TIME_ARGS (start), GST_TIME_ARGS (end));
+
/* Now extend measured time range to include new times */
extend_times (si, start, end);
g_printerr ("Failed to link %s:%s to %s:%s (ret = %d)\n",
GST_DEBUG_PAD_NAME (pad), GST_DEBUG_PAD_NAME (fakesink_pad), ret);
} else {
- g_printerr ("Linked %s:%s to %s:%s\n", GST_DEBUG_PAD_NAME (pad),
- GST_DEBUG_PAD_NAME (fakesink_pad));
+ GstCaps *caps = gst_pad_get_current_caps (pad);
+ gchar *s = gst_caps_to_string (caps);
+
+ g_print ("Linked %s:%s to %s:%s caps %s\n", GST_DEBUG_PAD_NAME (pad),
+ GST_DEBUG_PAD_NAME (fakesink_pad), s);
+ gst_caps_unref (caps);
+ g_free (s);
}
gst_object_unref (fakesink_pad);
{
PlayState state;
GstElement *decoder;
- GstElement *source;
GstStateChangeReturn res;
GstBus *bus;
G_CALLBACK (gst_object_default_deep_notify), NULL);
#endif
- source = gst_element_factory_make ("giosrc", "source");
- g_assert (source);
+ decoder = gst_element_factory_make ("uridecodebin", "decoder");
+ g_assert (decoder);
+ gst_bin_add (GST_BIN (state.pipe), decoder);
if (argv[1] && strstr (argv[1], "://") != NULL) {
- g_object_set (G_OBJECT (source), "location", argv[1], NULL);
+ g_object_set (G_OBJECT (decoder), "uri", argv[1], NULL);
} else if (argv[1]) {
gchar *uri = g_strdup_printf ("file://%s", argv[1]);
-
- g_object_set (G_OBJECT (source), "location", uri, NULL);
+ g_object_set (G_OBJECT (decoder), "uri", uri, NULL);
g_free (uri);
+ } else {
+ g_print ("Usage: %s <filename|uri>\n", argv[0]);
+ return -1;
}
- decoder = gst_element_factory_make ("decodebin", "decoder");
- g_assert (decoder);
-
- gst_bin_add (GST_BIN (state.pipe), source);
- gst_bin_add (GST_BIN (state.pipe), decoder);
-
- gst_element_link_pads (source, "src", decoder, "sink");
-
g_signal_connect (decoder, "pad-added", G_CALLBACK (pad_added_cb), &state);
res = gst_element_set_state (state.pipe, GST_STATE_PLAYING);