Movie fails with error after a number of loops.
Zapfyr
tobbe.l.malm at gmail.com
Fri Nov 2 00:30:31 PDT 2012
I have just began working with the GStreamer SDK, in Windows, using the
playbin2 set up as follows:
pipeline = gst_element_factory_make("playbin2", NULL);
g_object_get (pipeline, "flags", &flags, NULL);
flags |= GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO;
flags &= ~GST_PLAY_FLAG_TEXT;
g_object_set (pipeline, "flags", flags, NULL);
this->sink = gst_element_factory_make("appsink", NULL);
g_object_set(G_OBJECT(sink), "emit-signals", true, NULL);
g_object_set(G_OBJECT(sink), "max-buffers", 1, NULL);
g_object_set(G_OBJECT(sink), "drop", true, NULL);
g_signal_connect(G_OBJECT(sink), "new-buffer", G_CALLBACK(newVideoBuffer),
this);
GstCaps *caps = gst_caps_new_simple("video/x-raw-rgb", 0);
GstElement *rgbFilter = gst_element_factory_make("capsfilter", NULL);
g_object_set(G_OBJECT(rgbFilter), "caps", caps, NULL);
gst_caps_unref(caps);
GstElement* appBin = gst_bin_new(NULL);
gst_bin_add_many(GST_BIN(appBin), rgbFilter, NULL);
GstPad* sinkPad = gst_element_get_static_pad(rgbFilter, "sink");
GstPad* ghostPad = gst_ghost_pad_new(NULL, sinkPad);
gst_object_unref(sinkPad);
gst_element_add_pad(appBin, ghostPad);
gst_bin_add_many(GST_BIN(appBin), sink, NULL);
gst_element_link_many(rgbFilter, sink, NULL);
g_object_set(G_OBJECT(pipeline), "video-sink", appBin, NULL);
g_object_set(G_OBJECT(pipeline), "uri", uri.c_str(), NULL);
I am trying to play a movie which looks like this (when running
gst-discoverer):
Topology:
container: Quicktime
audio: MPEG-4 AAC
video: H.264
Properties:
Duration: 0:00:24.709000000
Seekable: yes
Tags:
video codec: H.264 / AVC
language code: en
audio codec: MPEG-4 AAC audio
maximum bitrate: 256000
bitrate: 223265
datetime: "2011-08-15T08:42:26.
encoder: Lavf54.7.100
container format: ISO MP4/M4A
The movie is looped, by seeking to 0 when I get a EOS message. After about 1
hour (the movie is a couple of seconds long) I get the following error:
Error recevied with message: Internal GStreamer error: code not implemented.
Please file a bug at
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer. Debugging
information: gstffmpegcolorspace.c(495): gst_ffmpegcsp_transform ():
/GstPlayBin2:playbin2208/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstFFMpegCsp:conv2:
cannot convert between formats Code: 3
Error recevied with message: GStreamer encountered a general stream error.
Debugging information: qtdemux.c(3891): gst_qtdemux_loop ():
/GstPlayBin2:playbin2208/GstURIDecodeBin:uridecodebin208/GstDecodeBin2:decodebin2208/GstQTDemux:qtdemux199:
Now I would not be confused if I didn't get the error after a while as I do.
I am running an other movie at the same time with the same setup, which also
dies after a while. But only after the first movie and with the following
error:
Error recevied with message: Internal data stream error. Debugging
information: gstavidemux.c(5214): gst_avi_demux_loop ():
/GstPlayBin2:playbin2214/GstURIDecodeBin:uridecodebin214/GstDecodeBin2:decodebin2214/GstAviDemux:avidemux14:
streaming stopped, reason error Code: 1
Why is that? The seconds movie (big_buck_bunny_720p_surround.avi) has worked
fine for hours on it own.
I'm not sure if I should file a bug on bugzilla (or how it is done) as I am
fairly new to this ...
// Tobias
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Movie-fails-with-error-after-a-number-of-loops-tp4656768.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list