Opened 14 years ago

Closed 14 years ago

#1105 closed patch (fixed)

Set "non-audio" SPDIF bit

Reported by: funaho@… Owned by: danielk
Priority: minor Milestone: 0.20
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Some stereo receivers will not honor AC3 or DTS data on the SPDIF input unless it is delivered with the data type set to non-audio. My stereo receiver is like this and with current MythTV will not play audio when attempting to play a recording with AC3 audio using passthrough mode.

The attached patches are an initial attempt at modifying libmyth and libmythtv to pass the status of pass-through down to the audio device. It also modifies the ALSA output driver to honor this flag using the same method used by mplayer: it temporarily appends ':{ AES0 0x02 }' to the end of the device name in passthrough mode, which causes the device to be configured in non-audio mode.

The patches are against SVN 8701. I've compiled and tested them on my main frontend and they work great for playing both PCM and AC3 audio.

Attachments (2)

mythtv-ac3-spdif-fix.patch (24.5 KB) - added by funaho@… 14 years ago.
Patch against SVN 8701 mythtv
mythplugins-ac3-spdif-fix.patch (6.2 KB) - added by funaho@… 14 years ago.
Patch against SVN 8701 mythplugins

Download all attachments as: .zip

Change History (4)

Changed 14 years ago by funaho@…

Attachment: mythtv-ac3-spdif-fix.patch added

Patch against SVN 8701 mythtv

Changed 14 years ago by funaho@…

Patch against SVN 8701 mythplugins

comment:1 Changed 14 years ago by danielk

Milestone: 0.20
Owner: changed from Isaac Richards to danielk
Summary: Make MythTV set the "non-audio" bit on the SPDIF interface when using pass-throughSet "non-audio" SPDIF bit
Version: head

comment:2 Changed 14 years ago by danielk

Resolution: fixed
Status: newclosed

(In [8941]) Fixes #1105, by applying cleaned up version of funaho AT jurai dt org's patch.

This looks bigger than it is. It touches so many files because it adds a parameter to two audio init rutines. Basically, this is a fix for AC3/DTS decoders that do not auto-detect AC3/DTS using the frame headers. With this commit we open the SPDIF device in the proper mode when starting playback.

Non-auto-detecting decoders will probably not cope well with time-stretch changes; but this commit should now allow the use AC3/DTS passthrough on such devices when time-stretch is not used.

With Mark Spieth's AC3 patches, time-stretch changes should be supported on non-auto-detecting AC3 decoders.

Note: See TracTickets for help on using tickets.