Closed Bug 776374 Opened 12 years ago Closed 12 years ago

opus decoding fails if built with --enable-gstreamer

Categories

(Core :: Audio/Video, defect)

15 Branch
x86_64
Linux
defect
Not set
major

Tracking

()

RESOLVED DUPLICATE of bug 763048

People

(Reporter: wolfiR, Unassigned)

Details

Gecko can be linked with gstreamer to allow H.264 video decoding.

But if this is used with --enable-gstreamer the opus decoding fails for some reason. GStreamer code should not used at all in that case but somehow it seems to have influence for the non-gstreamer case.

I've verified with 15.0b1.
Hmm, just found this:

2284 #ifdef MOZ_OGG
2285   if (IsOggType(aType)) {
2286 #ifdef MOZ_GSTREAMER 
2287     nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
2288 #else
2289     nsRefPtr<nsOggDecoder> decoder = new nsOggDecoder();
2290 #endif

2312 #ifdef MOZ_WEBM
2313   if (IsWebMType(aType)) {
2314 #ifdef MOZ_GSTREAMER 
2315     nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
2316 #else
2317     nsRefPtr<nsWebMDecoder> decoder = new nsWebMDecoder();
2318 #endif

Does that mean that GStreamer is intentionally used for OGG, WebM and MP4/H.264 and not just the MP4 case? That explains the problem for me since I'm pretty sure that my GStreamer does not support Opus yet.
So as I understand it's expected that opus plays through gstreamer if --enable-gstreamer is used and therefore the bug is likely INVALID. Please close if I'm right.
Opus support should be available in gstreamer starting with gst-plugins-bad 0.10.23, though you'll want 0.11.92 or later for some header parsing fixes (it was reading the gain from the wrong byte offset, and we also updated how the version field was interpreted... but 0.10.23 didn't check the version at all, so the latter is not a practical problem for the moment).

I don't know when a release with those fixes is planned for the 0.10 (stable) branch, so that leaves open the question of whether we want to force the internal decoder in the meantime, or wait for people to upgrade. Debian wheezy already includes opus support as of gstreamer-plugins-bad0.10-0.10.23-4, for example.

Someone who actually uses --enable-gstreamer should chime in here.
duping this to 763048 which is a generic fallback enhancement request
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.