mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Added an 'Id' parameter to cDevice::PlayAudio() to allow plugins to easier process the audio data
This commit is contained in:
parent
f0741c95c0
commit
5fdc421a10
@ -1296,6 +1296,8 @@ Marco Schl
|
|||||||
for fixing handling OSD areas that have invalid sizes
|
for fixing handling OSD areas that have invalid sizes
|
||||||
for removing unused variables in skinclassic.c and skinsttng.c
|
for removing unused variables in skinclassic.c and skinsttng.c
|
||||||
for removing leftover 'needsBufferReserve' variable from cTransfer
|
for removing leftover 'needsBufferReserve' variable from cTransfer
|
||||||
|
for adding an 'Id' parameter to cDevice::PlayAudio() to allow plugins to easier
|
||||||
|
process the audio data
|
||||||
|
|
||||||
Jürgen Schmitz <j.schmitz@web.de>
|
Jürgen Schmitz <j.schmitz@web.de>
|
||||||
for reporting a bug in displaying the current channel when switching via the SVDRP
|
for reporting a bug in displaying the current channel when switching via the SVDRP
|
||||||
|
4
HISTORY
4
HISTORY
@ -4271,7 +4271,7 @@ Video Disk Recorder Revision History
|
|||||||
- Separated the 'install' target into several individual targets; renamed the
|
- Separated the 'install' target into several individual targets; renamed the
|
||||||
'plugins-install' target to 'install-plugins' (thanks to Helmut Auer).
|
'plugins-install' target to 'install-plugins' (thanks to Helmut Auer).
|
||||||
|
|
||||||
2006-02-03: Version 1.3.42
|
2006-02-04: Version 1.3.42
|
||||||
|
|
||||||
- Removed leftover 'needsBufferReserve' variable from cTransfer (thanks to Marco
|
- Removed leftover 'needsBufferReserve' variable from cTransfer (thanks to Marco
|
||||||
Schlüßler).
|
Schlüßler).
|
||||||
@ -4281,3 +4281,5 @@ Video Disk Recorder Revision History
|
|||||||
- Fixed handling "pending" timers that blocked others that actually could record
|
- Fixed handling "pending" timers that blocked others that actually could record
|
||||||
(reported by Thomas Koch).
|
(reported by Thomas Koch).
|
||||||
- Speeded up cVideoRepacker (thanks to Reinhard Nissl).
|
- Speeded up cVideoRepacker (thanks to Reinhard Nissl).
|
||||||
|
- Added an 'Id' parameter to cDevice::PlayAudio() to allow plugins to easier
|
||||||
|
process the audio data (thanks to Marco Schlüßler).
|
||||||
|
10
device.c
10
device.c
@ -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.121 2006/01/08 11:39:37 kls Exp $
|
* $Id: device.c 1.122 2006/02/04 10:21:51 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
@ -977,7 +977,7 @@ int cDevice::PlayVideo(const uchar *Data, int Length)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cDevice::PlayAudio(const uchar *Data, int Length)
|
int cDevice::PlayAudio(const uchar *Data, int Length, uchar Id)
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -1000,7 +1000,7 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
|
|||||||
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, c);
|
||||||
if (FirstLoop)
|
if (FirstLoop)
|
||||||
Audios.PlayAudio(Data, Length, c);
|
Audios.PlayAudio(Data, Length, c);
|
||||||
}
|
}
|
||||||
@ -1026,7 +1026,7 @@ pre_1_3_19_PrivateStreamDeteced:
|
|||||||
if (Setup.UseDolbyDigital) {
|
if (Setup.UseDolbyDigital) {
|
||||||
SetAvailableTrack(ttDolby, SubStreamIndex, SubStreamId);
|
SetAvailableTrack(ttDolby, SubStreamIndex, SubStreamId);
|
||||||
if (!VideoOnly && SubStreamId == availableTracks[currentAudioTrack].id) {
|
if (!VideoOnly && SubStreamId == availableTracks[currentAudioTrack].id) {
|
||||||
w = PlayAudio(Start, d);
|
w = PlayAudio(Start, d, SubStreamId);
|
||||||
if (FirstLoop)
|
if (FirstLoop)
|
||||||
Audios.PlayAudio(Data, Length, SubStreamId);
|
Audios.PlayAudio(Data, Length, SubStreamId);
|
||||||
}
|
}
|
||||||
@ -1035,7 +1035,7 @@ pre_1_3_19_PrivateStreamDeteced:
|
|||||||
case 0xA0: // LPCM
|
case 0xA0: // LPCM
|
||||||
SetAvailableTrack(ttAudio, SubStreamIndex, SubStreamId);
|
SetAvailableTrack(ttAudio, SubStreamIndex, SubStreamId);
|
||||||
if (!VideoOnly && SubStreamId == availableTracks[currentAudioTrack].id) {
|
if (!VideoOnly && SubStreamId == availableTracks[currentAudioTrack].id) {
|
||||||
w = PlayAudio(Start, d);
|
w = PlayAudio(Start, d, SubStreamId);
|
||||||
if (FirstLoop)
|
if (FirstLoop)
|
||||||
Audios.PlayAudio(Data, Length, SubStreamId);
|
Audios.PlayAudio(Data, Length, SubStreamId);
|
||||||
}
|
}
|
||||||
|
5
device.h
5
device.h
@ -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.h 1.70 2006/01/08 10:10:26 kls Exp $
|
* $Id: device.h 1.71 2006/02/04 10:22:54 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __DEVICE_H
|
#ifndef __DEVICE_H
|
||||||
@ -424,9 +424,10 @@ protected:
|
|||||||
///< Length) or not at all (returning 0 or -1 and setting 'errno' to EAGAIN).
|
///< Length) or not at all (returning 0 or -1 and setting 'errno' to EAGAIN).
|
||||||
///< \return Returns the number of bytes actually taken from Data, or -1
|
///< \return Returns the number of bytes actually taken from Data, or -1
|
||||||
///< in case of an error.
|
///< in case of an error.
|
||||||
virtual int PlayAudio(const uchar *Data, int Length);
|
virtual int PlayAudio(const uchar *Data, int Length, uchar Id);
|
||||||
///< Plays the given data block as audio.
|
///< Plays the given data block as audio.
|
||||||
///< Data points to exactly one complete PES packet of the given Length.
|
///< Data points to exactly one complete PES packet of the given Length.
|
||||||
|
///< Id indicates the type of audio data this packet holds.
|
||||||
///< PlayAudio() shall process the packet either as a whole (returning
|
///< PlayAudio() shall process the packet either as a whole (returning
|
||||||
///< Length) or not at all (returning 0 or -1 and setting 'errno' to EAGAIN).
|
///< Length) or not at all (returning 0 or -1 and setting 'errno' to EAGAIN).
|
||||||
///< \return Returns the number of bytes actually taken from Data, or -1
|
///< \return Returns the number of bytes actually taken from Data, or -1
|
||||||
|
@ -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: dvbdevice.c 1.151 2006/01/28 15:37:01 kls Exp $
|
* $Id: dvbdevice.c 1.152 2006/02/04 10:21:51 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbdevice.h"
|
#include "dvbdevice.h"
|
||||||
@ -1169,7 +1169,7 @@ int cDvbDevice::PlayVideo(const uchar *Data, int Length)
|
|||||||
return WriteAllOrNothing(fd_video, Data, Length, 1000, 10);
|
return WriteAllOrNothing(fd_video, Data, Length, 1000, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
int cDvbDevice::PlayAudio(const uchar *Data, int Length)
|
int cDvbDevice::PlayAudio(const uchar *Data, int Length, uchar Id)
|
||||||
{
|
{
|
||||||
return WriteAllOrNothing(fd_audio, Data, Length, 1000, 10);
|
return WriteAllOrNothing(fd_audio, Data, Length, 1000, 10);
|
||||||
}
|
}
|
||||||
|
@ -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: dvbdevice.h 1.37 2005/12/29 13:33:12 kls Exp $
|
* $Id: dvbdevice.h 1.38 2006/02/04 10:21:51 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __DVBDEVICE_H
|
#ifndef __DVBDEVICE_H
|
||||||
@ -119,7 +119,7 @@ protected:
|
|||||||
virtual bool CanReplay(void) const;
|
virtual bool CanReplay(void) const;
|
||||||
virtual bool SetPlayMode(ePlayMode PlayMode);
|
virtual bool SetPlayMode(ePlayMode PlayMode);
|
||||||
virtual int PlayVideo(const uchar *Data, int Length);
|
virtual int PlayVideo(const uchar *Data, int Length);
|
||||||
virtual int PlayAudio(const uchar *Data, int Length);
|
virtual int PlayAudio(const uchar *Data, int Length, uchar Id);
|
||||||
public:
|
public:
|
||||||
virtual int64_t GetSTC(void);
|
virtual int64_t GetSTC(void);
|
||||||
virtual void TrickSpeed(int Speed);
|
virtual void TrickSpeed(int Speed);
|
||||||
|
Loading…
Reference in New Issue
Block a user