Hi,
I am running Gstreamer 1.4.4 with on a imx6q-sabresd board and I am
able to decode a video through the coda driver.
The pipeline I use is:
gst-launch-1.0 filesrc
location=/home/H264_test1_Talkinghead_mp4_480x360.mp4 ! qtdemux !
h264parse ! v4l2video1dec ! videoconvert ! fbdevsink
It plays the video fine, but it does not handle the end of stream
correctly: when the video reaches its end, then I get a flood of the
following messages:
[ 144.049830] DEC_PIC_SUCCESS = 524289
[ 144.064928] DEC_PIC_SUCCESS = 524289
[ 144.085516] DEC_PIC_SUCCESS = 524289
[ 144.108056] DEC_PIC_SUCCESS = 524289
[ 144.130351] DEC_PIC_SUCCESS = 524289
[ 144.152852] DEC_PIC_SUCCESS = 524289
[ 144.176114] DEC_PIC_SUCCESS = 524289
[ 144.198165] DEC_PIC_SUCCESS = 524289
[ 144.220579] DEC_PIC_SUCCESS = 524289
[ 144.242607] DEC_PIC_SUCCESS = 524289
These same DEC_PIC_SUCCESS messages appear if I use fakesink:
gst-launch-1.0 filesrc
location=/home/H264_test1_Talkinghead_mp4_480x360.mp4 ! qtdemux !
h264parse ! v4l2video1dec ! fakesink
In coda_dqbuf() we have:
/* If this is the last capture buffer, emit an end-of-stream event */
if (buf->type == V4L2_BUF_TYPE_VIDEO_CAPTURE &&
coda_buf_is_end_of_stream(ctx, buf)) {
const struct v4l2_event eos_event = {
.type = V4L2_EVENT_EOS
};
v4l2_event_queue_fh(&ctx->fh, &eos_event);
}
Seems we should also check for V4L2_BUF_TYPE_VIDEO_OUPUT. I tried it,
but still not able to fix the end of stream problem.
Any ideas?
Thanks
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html