Bug 54797

Summary: [IVB] VC1 ES streaming video cannot be played with gstreamer for Could not determine type of stream
Product: libva Reporter: cc <chao.a.chen>
Component: intelAssignee: Wind Yuan <feng.yuan>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: medium CC: gb.devel, seanvk
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: typefind: detect VC-1 elementary streams

Description cc 2012-09-12 03:00:03 UTC
Environment:
--------------
libva:
commit 0a29a454b0569073f64d0af5bf7a4324e7295c86
Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Date:   Sat Apr 7 07:15:07 2012 +0200

intel-driver:
commit f842b5021acbf093572a1bd0f86d32ff3e08621e
Author: Zhao Halley <halley.zhao@intel.com>
Date:   Thu Aug 2 12:28:48 2012 +0300

gstreamer-vaapi :
commit de2a18012dca67d9e581219e94616a63866db821
Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Date:   Tue Sep 4 11:53:18 2012 +0200

Bug Info:
--------------
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind: Could not determine type of stream.
Additional debug info:
gsttypefindelement.c(996): gst_type_find_element_activate (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind
Setting pipeline to NULL ...
Freeing pipeline ...

Reproduce steps:
----------------
1. xinit &
2. gst-launch-0.10 playbin2 uri=file:///home/VC1_conformance/bitstreams/SA10097.vc1
Comment 1 Gwenole Beauchesne 2013-01-23 17:12:32 UTC
The vc1parse element is an addition to the upcoming GStreamer 1.2.0 (gst-plugins-bad). playbin2 cannot detect raw VC-1 bitstreams without it.

Meanwhile, you need to build an explicit pipeline as follows:
$ gst-launch filesrc location=/Videos/vc1/conformance/SA10097.vc1 ! video/x-wmv,format=\(fourcc\)WVC1,width=540,height=480 ! vaapidecode ! vaapisink

You can change the framerate by appending ,framerate=12/1 for example to display at 12 fps.

Another option is to use `simple-decoder' from the git master branch:
$ ./tests/simple-decoder /Videos/vc1/conformance/SA10097.vc1 -c vc1
though, this is very primitive.
Comment 2 Wind Yuan 2013-01-24 05:27:08 UTC
From Gwenole's comments, marked as won't fix since there's no vc1 parser in gst-plugins-bad currently.
Comment 3 Gwenole Beauchesne 2013-01-24 10:36:06 UTC
Created attachment 73556 [details] [review]
typefind: detect VC-1 elementary streams

Here is a patch to gst-plugins-base 0.10. It helps, but it's not perfect without the vc1parse element. At least, most conformance tests would run with playbin2. Don't expect all of them to go through though.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.