Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#8798 closed defect (invalid)

DD5.1 does not play correctly when timestretch is enabled.

Reported by: jpoet Owned by: JYA
Priority: minor Milestone: unknown
Component: MythTV - Audio Output Version: Unspecified
Severity: medium Keywords: AC3 DD5.1 timestretch
Cc: Ticket locked: no

Description

DD5.1 material does not get re-encoded correctly when timestretch is enabled. Often, I get no audio at all until I pause and then resume playback. Even when I do get audio it is DD2.0 instead of DD5.1. One some channels, but not all, the resulting DD2.0 is also very muted especially in regards to "center" dialog.

The mythfrontend computer is hooked up to my pre-amp via S/PDIF.

I am attaching a mythfrontend trace created with "-v playback,audio,timestamp" using trunk r25745. Please let me know if you need more information.

Attachments (2)

timestretch-audio.log.bz2 (273.8 KB) - added by jpoet 9 years ago.
mythfronted r25745 log (-v playback,audio,timestamp)
timestretch-audio-25880.log.bz2 (196.1 KB) - added by jpoet 9 years ago.
mythfronted r25880 log (-v playback,audio,timestamp)

Download all attachments as: .zip

Change History (8)

Changed 9 years ago by jpoet

Attachment: timestretch-audio.log.bz2 added

mythfronted r25745 log (-v playback,audio,timestamp)

comment:1 Changed 9 years ago by robertm

Status: newassigned

comment:2 Changed 9 years ago by JYA

I do not see any bugs here... The system behaves as expected based on the information it has.

You are playing 5.1 AC3 content, when timestretch is enabled audio is decoded. Your IEC958 audio reports as supporting 5.1 LPCM audio, so the audio isn't re-encoded as AC3 but instead is sent as 5.1 LPCM which can't be sent on a SPDIF output.

So two possibilities are possible here: -ALSA drivers are incorrect for your card and reports that your SPDIF port supports up to 6 discrete channels -Somehow, you've checked the LPCM setting, telling myth to send such audio.

You wouldn't have seen the problem before, as myth would always re-encode the audio as AC3.

comment:3 Changed 9 years ago by jpoet

Turning off LPCM does fix the problem. I don't remember turning that on -- Does it get enabled by default? Maybe it shouldn't?

My motherboard has HDMI which will do LPCM. I use the HDMI for video, but I don't use it for audio. I have a PCI soundcard which has both S/PDIF and 7 channel analog outputs, and I use the S/PDIF on it to hook up to my pre-amp. I don't know wny it would think my PCI audio card can do LPCM.

comment:4 Changed 9 years ago by JYA

Resolution: invalid
Status: assignedclosed

That option isn't active by default. It shouldn't even be available for spdif (option is either greyed out, or not displayed at all). This option is only available if the audio device reports supporting more than 2 channels. If it reports more than 2 for the spdif port, it's an ALSA bug

I'd be interested to see the log again with -v audio ; it now shows in the log the number of channels supported for each audio device

comment:5 Changed 9 years ago by jpoet

The soundcard I use is a M-Audio Deltea 410. It supports S/PDIF I/O as well as 8 channel analog output.

I am attaching a new log file.

Changed 9 years ago by jpoet

mythfronted r25880 log (-v playback,audio,timestamp)

comment:6 Changed 9 years ago by JYA

According to ALSA, your SPDIF port supports: 2010-08-26 21:31:16.572 Found ALSA:iec958:CARD=M410,DEV=0 (ALSA:iec958:CARD=M410,DEV=0 Device supports up to 7.1 (digital output, AC3,DTS,multi-channels LPCM))

That's why the LPCM flag is being presented to you. So an easy dirty fix is simply based on the name of the device, if it contains SPDIF or IEC958 then never try to send LPCM

Note: See TracTickets for help on using tickets.