1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

cAudio::Play() now also gets the 0xC0...0xDF audio

This commit is contained in:
Klaus Schmidinger 2005-02-13 09:54:51 +01:00
parent 78598e1a0a
commit e972c0464a
3 changed files with 12 additions and 6 deletions

View File

@ -3390,8 +3390,9 @@ Video Disk Recorder Revision History
- Forcing a new resync after a call to cRemux::Clear() (suggested by Marco Schlüßler). - Forcing a new resync after a call to cRemux::Clear() (suggested by Marco Schlüßler).
- The cAudio::Play() function now has an additional parameter 'uchar Id' which tells - The cAudio::Play() function now has an additional parameter 'uchar Id' which tells
the function the substream id of the given audio packet, so that a plugin can the function the substream id of the given audio packet, so that a plugin can
take the right action for the various kinds if audio data (based on suggestions take the right action for the various kinds if audio data - which now also includes
by Werner Fink and Macro Schlüßler). "normal" audio with ids 0xC0...0xDF (based on suggestions by Werner Fink and Macro
Schlüßler).
- Removed the "Cleared/PlayPes(NULL, 0)" handling from cTransfer::Action(), since this - Removed the "Cleared/PlayPes(NULL, 0)" handling from cTransfer::Action(), since this
is now done when attaching the player to the device (thanks to Marco Schlüßler). is now done when attaching the player to the device (thanks to Marco Schlüßler).
- Making sure the buffer reserve in cTransfer::Action() is re-established after - Making sure the buffer reserve in cTransfer::Action() is re-established after

View File

@ -81,7 +81,9 @@ structures and allows it to hook itself into specific areas to perform special a
<li><a href="#Skins">Skins</a> <li><a href="#Skins">Skins</a>
<li><a href="#Themes">Themes</a> <li><a href="#Themes">Themes</a>
<li><a href="#Devices">Devices</a> <li><a href="#Devices">Devices</a>
<li><a href="#Dolby Digital">Dolby Digital</a> <!--X1.3.21--><table width=100%><tr><td bgcolor=#FF0000>&nbsp;</td><td width=100%>
<li><a href="#Audio">Audio</a>
<!--X1.3.21--></td></tr></table>
<li><a href="#Remote Control">Remote Control</a> <li><a href="#Remote Control">Remote Control</a>
</ul> </ul>
</ul> </ul>
@ -1656,7 +1658,7 @@ shut down (delete) all devices when the program terminates. It is therefore
important that the devices are created on the heap, using the <tt>new</tt> important that the devices are created on the heap, using the <tt>new</tt>
operator! operator!
<a name="Dolby Digital"><hr><h2>Dolby Digital</h2> <a name="Audio"><hr><h2>Audio</h2>
<center><i><b>"The stereo effect may only be experienced if stereo equipment is used!"</b></i></center><p> <center><i><b>"The stereo effect may only be experienced if stereo equipment is used!"</b></i></center><p>

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: device.c 1.91 2005/02/12 16:29:49 kls Exp $ * $Id: device.c 1.92 2005/02/13 09:51:48 kls Exp $
*/ */
#include "device.h" #include "device.h"
@ -883,8 +883,11 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
break; break;
case 0xC0 ... 0xDF: // audio case 0xC0 ... 0xDF: // audio
SetAvailableTrack(ttAudio, c - 0xC0, c); SetAvailableTrack(ttAudio, c - 0xC0, c);
if (!VideoOnly && c == availableTracks[currentAudioTrack].id) if (!VideoOnly && c == availableTracks[currentAudioTrack].id) {
w = PlayAudio(Start, d); w = PlayAudio(Start, d);
if (FirstLoop)
Audios.PlayAudio(Data, Length, c);
}
break; break;
case 0xBD: { // private stream 1 case 0xBD: { // private stream 1
int PayloadOffset = Data[8] + 9; int PayloadOffset = Data[8] + 9;