After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 576378 - [matroskamux] add support for WMA2 and WMV2
[matroskamux] add support for WMA2 and WMV2
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.14
Other Linux
: Normal enhancement
: 0.10.16
Assigned To: Thiago Sousa Santos
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-03-23 10:58 UTC by Christian Fredrik Kalager Schaller
Modified: 2009-08-10 11:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Adds wmv support (2.18 KB, patch)
2009-08-08 04:16 UTC, Thiago Sousa Santos
committed Details | Review
Adds wma support (7.62 KB, patch)
2009-08-08 04:17 UTC, Thiago Sousa Santos
committed Details | Review

Description Christian Fredrik Kalager Schaller 2009-03-23 10:58:22 UTC
Been testing various transcoding pipelines in conjuction with writing Transmageddon. Using the ffmpeg plugins I am not able to put WMA2 and WMV2 into a Matroska container which I assume should work:

gst-launch-0.10 filesrc location=/home/cschalle/Videos/gravity.mpg ! decodebin2 name="decode" decode. ! ffmpegcolorspace ! ffenc_wmv2 ! queue ! qtmux name=mux ! gnomevfssink location=file:///tmp/test8.mkv decode. ! audioconvert ! ffenc_wmav2 ! queue ! mux.


0:00:00.330910354  6346  0x954a050 ERROR         GST_PIPELINE ./grammar.y:524:gst_parse_perform_link: could not link queue0 to mux
0:00:00.331826532  6346  0x954a050 ERROR         GST_PIPELINE ./grammar.y:524:gst_parse_perform_link: could not link ffenc_wmav20 to queue1
WARNING: erroneous pipeline: could not link queue0 to mux
Caught SIGSEGV accessing address 0x40
./any-to-ogg2: line 1:  6346 Killed                  gst-launch-0.10 filesrc location=/home/cschalle/Videos/gravity.mpg ! decodebin2 name="decode" decode. ! ffmpegcolorspace ! ffenc_wmv2 ! queue ! qtmux name=mux ! gnomevfssink location=file:///tmp/test8.mkv decode. ! audioconvert ! ffenc_wmav2 ! queue ! mux.
Comment 1 Tim-Philipp Müller 2009-03-23 11:23:20 UTC
You talk about matroskamux, but your pipelines show qtmux. Also,

  gst-inspect-0.10 matroskamux

has no sign of WMV/WMA support, so I guess this is supposed to be an enhancement request? (It can hardly fail at something it doesn't even claim to support)
Comment 2 Christian Fredrik Kalager Schaller 2009-03-23 13:44:06 UTC
Sorry about having tested with the wrong manual pipeline. The real error message is:
0:00:00.199171893  9828  0x813c050 ERROR         GST_PIPELINE ./grammar.y:524:gst_parse_perform_link: could not link ffenc_wmav20 to queue1
WARNING: erroneous pipeline: could not link ffenc_wmav20 to queue1
Caught SIGSEGV accessing address 0x40
./any-to-ogg2: line 1:  9828 Killed                  gst-launch-0.10 filesrc location=/home/cschalle/Videos/gravity.mpg ! decodebin2 name="decode" decode. ! ffmpegcolorspace ! ffenc_wmv2 ! queue ! matroskamux name=mux ! gnomevfssink location=file:///tmp/test8.mkv decode. ! audioconvert ! ffenc_wmav2 ! queue ! mux.


And yes, this was meant as an enhancement request.
Comment 3 Thiago Sousa Santos 2009-08-07 02:44:46 UTC
Can someone assign this to me?

I've started implementing and WMV is already in place. WMA still doesn't work (some unknown bug I'm investigating).
Comment 4 Thiago Sousa Santos 2009-08-08 04:16:42 UTC
Created attachment 140174 [details] [review]
Adds wmv support
Comment 5 Thiago Sousa Santos 2009-08-08 04:17:05 UTC
Created attachment 140175 [details] [review]
Adds wma support
Comment 6 Thiago Sousa Santos 2009-08-08 04:20:25 UTC
I attached patches here for wma/wmv support. We should get those reviewed before we freeze on monday.
Comment 7 Thiago Sousa Santos 2009-08-08 04:31:03 UTC
I just understood that gst_riff_strf_auds omits the cbSize field (from the ms waveformatex docs[1]) and uses wBitsPerSample with the name size. I thought that it omitted the wBitsPerSample. (Thus the commit message from the wma patch).
Comment 8 Thiago Sousa Santos 2009-08-08 09:17:35 UTC
Forgot the link:
[1] http://msdn.microsoft.com/en-us/library/ms713497(VS.85).aspx
Comment 9 Tim-Philipp Müller 2009-08-09 22:26:05 UTC
If it works, just commit it.

Minor nitpick: in GST_WARNING_OBJECT (mux, "Unexpected WMA version: %" G_GUINT16_FORMAT, wmaversion) the G_GUINT16_FORMAT isn't needed, since wmaversion is a normal int and any (u)int16 would be promoted to a normal (u)int anyway because of the printf/debug varargs.
Comment 10 Thiago Sousa Santos 2009-08-09 23:36:45 UTC
Fixed by commits:


Module: gst-plugins-good
Branch: master
Commit: df442b47272295a2f5ec3e41023d5a0cf1b9c7a0
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=df442b47272295a2f5ec3e41023d5a0cf1b9c7a0

Author: Thiago Santos <thiagoss@embedded.ufcg.edu.br>
Date:   Thu Aug  6 20:15:17 2009 -0300

matroskamux: adds support for wmv family

Adds support to WMV1, WMV2, WMV3 and other family formats that
are signaled by the 'format' field in the caps (i.e. WVC1).
Partially fixes #576378


Module: gst-plugins-good
Branch: master
Commit: 08862850a70674c3a2380a4f8232c0dee91dbd96
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=08862850a70674c3a2380a4f8232c0dee91dbd96

Author: Thiago Santos <thiagoss@embedded.ufcg.edu.br>
Date:   Sat Aug  8 00:47:48 2009 -0300

matroska: Adds support to muxing/demuxing WMA

Adds support for muxing wma audio family and fixes
demuxing of wma family in matroskademux. matroskademux
was broken because it missed codec_data.
Comment 11 Sebastian Dröge (slomo) 2009-08-10 04:55:28 UTC
Could you notify the Matroska guys about how you're putting WMA/WMV into Matroska? They probably want to add it to their codec specs... otherwise other people will probably invent something incompatible ;)
Comment 12 Thiago Sousa Santos 2009-08-10 11:48:32 UTC
I followed the spec here: http://matroska.org/technical/specs/codecid/index.html that points to http://haali.cs.msu.ru/mkv/codecs.pdf.

I used codec_ids V_MS/VFW/FOURCC (video) and A_MS/ACM (audio).