(2) evil assert in gst_segment_to_running_time
Guetcho Guetchev
getcho.getchev at gmail.com
Thu Nov 22 10:59:19 PST 2012
Hello guys,
Resending this e-mail (removed the html tags):
Sorry for the repetition.
I have the following pipeline (Gstreamer 1.0.3) :
appsrc --- speexenc --- flvmux --- appsink
appsrc --- x264enc---------|
At the sources:
My audio is audio-x/raw, format=16SLE, rate= 44100, channels=1, layout=interleaved.
My video is video-x/raw, format=I420, framerate=20, width=640, height=480
The flvmux is configured as:
--- audio: audio-x/speex, rate=11025, channels=1
----video: video-x/h264, stream-format=avc
The appsink has these capabilities:
video/x-flv
When I run the pipeline I get this assert:
GStreamer-CRITICAL **: guint64 gst_segment_to_running_time(const GstSegment *, GstFormat, guint64): assertion `segment->format == format' failed
By some reason the segment->format member is GST_FORMAT_BYTE but not GST_FORMAT_TIME
In gst_collect_pads_event_default :
GST_EVENT_TYPE(event) is GST_EVENT_SEGMENT,
and after gst_event_copy_segment (event, &seg);
The seg.format is GST_FORMAT_BYTE, which means the event (a packed segment inside) has this segment type: GST_FORMAT_BYTE
Then later in the call stack: gst_segment_to_running_time
this is what happens: an assert statement, comparing the required format to be GST_FORMAT_TIME, but the segment.format is GST_FORMAT_UNDEFINED
My question is: is that a bug or this is caused by something I did (or I did not) do ?
Thanks in advance,
Getcho
More information about the gstreamer-devel
mailing list