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