Bug 54797 - [IVB] VC1 ES streaming video cannot be played with gstreamer for Could not determine type of stream
Summary: [IVB] VC1 ES streaming video cannot be played with gstreamer for Could not de...
Status: RESOLVED WONTFIX
Alias: None
Product: libva
Classification: Unclassified
Component: intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wind Yuan
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-12 03:00 UTC by cc
Modified: 2013-01-24 10:36 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
typefind: detect VC-1 elementary streams (4.88 KB, patch)
2013-01-24 10:36 UTC, Gwenole Beauchesne
Details | Splinter Review

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.