Crash when recording and streaming OGG with a samplerate of 96000

Bug #686212 reported by RAFFI TEA
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Critical
RJ Skerry-Ryan
1.10
Fix Released
Critical
RJ Skerry-Ryan
1.9
Fix Released
Critical
RJ Skerry-Ryan

Bug Description

While MP3 streaming and recording is possible with a samplerate of 96000 this is not true for OGG, The encoder does not support downsampling to 44100 or 48000 as opposed to LAME.

Two option:
 1. We throw a message box and disable recording and shoutcast at 96000
 2. Downsampling? I'm sure we've some code for that somewhere in Mixxx

Related branches

RAFFI TEA (raffitea)
summary: - Recording and streaming OGG at 96 KHz crashes
+ Recording and streaming OGG not possible with a samplerate of 96000
description: updated
Changed in mixxx:
assignee: nobody → RAFFI TEA (raffitea)
Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote : Re: Recording and streaming OGG not possible with a samplerate of 96000

Can we just not show 96000 as an option if Vorbis is selected?

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

(BTW be sure to call it OGG Vorbis instead of just OGG, since an OGG file can technically contain a number of different codecs.)

Revision history for this message
William Good (bkgood) wrote : Re: [Bug 686212] Re: Recording and streaming OGG not possible with a samplerate of 96000

Preferably not, having prefs in one pane (Sound Hardware) affected by prefs in
another pane (Streaming) is a total mess because of how the prefs are one-
class-per-pane (search for scratchlib in dlgprefsound.cpp). Even if they
weren't modular, it also adds confusion for the user: a user sees that 96kHz
is disabled and doesn't know why. You can tell them with an extra GUI label,
but that just adds clutter.

My personal preference would be to downsample the 96k samples to 48k with
libsamplerate in the engine sidechain thread.

On Monday, December 06, 2010 18:12:01 you wrote:
> Can we just not show 96000 as an option if Vorbis is selected?

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote : Re: Recording and streaming OGG not possible with a samplerate of 96000

Oh, I thought he was talking about stream bit rate. If he does indeed mean sample rate, then I too vote for downsampling so at least your main output still runs at 96kHz, incase you're playing at a venue AND streaming.

Revision history for this message
RAFFI TEA (raffitea) wrote :

I think downsampling is the best, too. Unfortunately, I've never worked with libsamplerate and my knowledge about audio processing is limited here. If someone other than me could implement the downsampling in EncoderVorbis::process(...) I would be thankful.

Revision history for this message
RAFFI TEA (raffitea) wrote :

Oh and just to be precise here: LAME does already downsample for us. So we only have to touch the EncoderVorbis class.

RAFFI TEA (raffitea)
Changed in mixxx:
assignee: RAFFI TEA (raffitea) → nobody
RAFFI TEA (raffitea)
Changed in mixxx:
milestone: none → 1.9.0
summary: - Recording and streaming OGG not possible with a samplerate of 96000
+ Crash when recording and streaming OGG with a samplerate of 96000
Changed in mixxx:
status: New → Confirmed
importance: Undecided → High
RJ Skerry-Ryan (rryan)
Changed in mixxx:
milestone: 1.9.0 → 1.9.1
Changed in mixxx:
milestone: 1.9.2 → none
RJ Skerry-Ryan (rryan)
tags: added: crash
Changed in mixxx:
importance: High → Critical
RJ Skerry-Ryan (rryan)
tags: added: recording shoutcast sidechain
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Pushing this to 1.10.1 since it's unlikely someone will hit this, and if they do they'll know immediately.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

As a stopgap, I added an error dialog when someone tries to set 96kbps + vorbis to 1.9.x.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Also, I found out why this crashes. The immediate segfault is because we call ogg_stream_clear on a stream that has not been initialized. I added a boolean to indicate when we have initialized the ogg/vorbis data structures and that fixed the crash. It still can't stream, but at least it doesn't crash.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Marking fixed since this bug is about the crash. I'll file a wishlist bug for 96kHz ogg vorbis support.

Changed in mixxx:
assignee: nobody → RJ Ryan (rryan)
status: Confirmed → Fix Committed
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
status: Fix Released → Fix Committed
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
jus (jus) wrote :

Also see Wishlist bug for 96kHz ogg vorbis support @ lp:883381

RJ Skerry-Ryan (rryan)
summary: - Crash when recording and streaming OGG with a samplerate of 96000
+ Support recording and streaming OGG with a samplerate of 96kHz
summary: - Support recording and streaming OGG with a samplerate of 96kHz
+ Crash when recording and streaming OGG with a samplerate of 96000
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/5701

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.