if (streams == NULL) {
GST_INFO_OBJECT (mssdemux, "No streams found in the manifest");
- /* TODO post eos? */
+ GST_ELEMENT_ERROR (mssdemux, STREAM, DEMUX,
+ (_("This file contains no playable streams.")),
+ ("no streams found at the Manifest"));
+ return;
}
for (iter = streams; iter; iter = g_slist_next (iter)) {
break;
}
if (!path) {
- /* TODO */
+ goto no_url_error;
}
GST_DEBUG_OBJECT (mssdemux, "Got url path '%s' for stream %p", path, stream);
buffer = gst_buffer_make_metadata_writable (buffer);
gst_buffer_set_caps (buffer, GST_PAD_CAPS (stream->pad));
- ret = gst_pad_push (stream->pad, buffer); /* TODO check return */
+ ret = gst_pad_push (stream->pad, buffer);
switch (ret) {
case GST_FLOW_UNEXPECTED:
goto eos; /* EOS ? */
gst_task_stop (stream->stream_task);
return;
}
+no_url_error:
+ {
+ GST_ELEMENT_ERROR (mssdemux, STREAM, DEMUX,
+ (_("Failed to get fragment URL.")),
+ ("An error happened when getting fragment URL"));
+ gst_task_stop (stream->stream_task);
+ return;
+ }
error:
{
GST_WARNING_OBJECT (mssdemux, "Error while pushing fragment");