RESOLVED WORKSFORME 99501
[gstreamer] video error if gst_app_src_push_buffer returns GST_FLOW_WRONG_STATE
https://bugs.webkit.org/show_bug.cgi?id=99501
Summary [gstreamer] video error if gst_app_src_push_buffer returns GST_FLOW_WRONG_STATE
arno.
Reported 2012-10-16 13:58:38 PDT
Hi, sometimes, gst_app_src_push_buffer returns GST_FLOW_WRONG_STATE and video is not displayed. This happens to me quite often (about 10% of every time I load a video). GST_FLOW_WRONG_STATE is returned because of some flushing lock in gstreamer. I could not find the root of the problem, but meanwhile, when we are in this case, we can probably retry to push the buffer data the next time).
Attachments
patch proposal: store unpushed data in a Vector<char> and push it next time (3.40 KB, patch)
2012-10-16 14:10 PDT, arno.
pnormand: review-
arno.
Comment 1 2012-10-16 14:10:25 PDT
Created attachment 169023 [details] patch proposal: store unpushed data in a Vector<char> and push it next time patch proposal
Philippe Normand
Comment 2 2012-10-16 14:44:44 PDT
Seems like a workaround (hack) for a possible GStreamer bug. What's your platform exactly? GStreamer version? Which type of media file are you trying to play, does it happen with any container/format?
arno.
Comment 3 2012-10-16 15:06:12 PDT
(In reply to comment #2) > Seems like a workaround (hack) for a possible GStreamer bug. > > What's your platform exactly? GStreamer version? Which type of media file are you trying to play, does it happen with any container/format? The bug happen with both gstreamer 0.10 (0.10.36-1ubuntu1) and 1.0 (1.0.0-1~ubuntu12.04.1~ppa1) I was only testing with webm videos, but I could reproduce it with this ogv video http://www.craftymind.com/factory/html5video/BigBuckBunny_640x360.ogv I tried around twenty or thirty times with this mp4 video, but the bug did not appear http://www.craftymind.com/factory/html5video/BigBuckBunny_640x360.mp4
Philippe Normand
Comment 4 2012-10-16 23:42:45 PDT
So this happens on the desktop? Have you tried to increase the size of the internal queue of appsrc? With gst_app_src_set_max_bytes().
Philippe Normand
Comment 5 2012-10-23 07:54:40 PDT
Comment on attachment 169023 [details] patch proposal: store unpushed data in a Vector<char> and push it next time r- this for now, until Arnaud provides some more feedback.
Philippe Normand
Comment 6 2014-03-04 23:37:03 PST
Closing this for now, feel free to reopen if it makes sense :)
Note You need to log in before you can comment on or make changes to this bug.