mirror of
https://projects.vdr-developer.org/git/vdr-plugin-softhddevice.git
synced 2023-10-10 19:16:51 +02:00
Fix bug #1410: wrong spelled AC-3 and E-AC-3.
This commit is contained in:
parent
93357fb1cd
commit
171a3f4dc9
@ -1,6 +1,7 @@
|
||||
User johns
|
||||
Date:
|
||||
|
||||
Fix bug #1410: wrong spelled AC-3 and E-AC-3.
|
||||
Add compile time selectable h264 trickspeed workaround.
|
||||
Use ffmpeg new names AVCodecID, AV_CODEC_... .
|
||||
Fix bug: video lagging behind after recording stop.
|
||||
|
@ -89,7 +89,7 @@ Setup: environment
|
||||
ALSA_DEVICE=default
|
||||
alsa PCM device name
|
||||
ALSA_PASSTHROUGH_DEVICE=
|
||||
alsa pass-though (AC3,EAC3,DTS,...) device name
|
||||
alsa pass-though (AC-3,E-AC-3,DTS,...) device name
|
||||
ALSA_MIXER=default
|
||||
alsa control device name
|
||||
ALSA_MIXER_CHANNEL=PCM
|
||||
@ -99,7 +99,7 @@ Setup: environment
|
||||
OSS_AUDIODEV=/dev/dsp
|
||||
oss dsp device name
|
||||
OSS_PASSTHROUGHDEV=
|
||||
oss pass-though (AC3,EAC3,DTS,...) device name
|
||||
oss pass-though (AC-3,E-AC-3,DTS,...) device name
|
||||
OSS_MIXERDEV=/dev/mixer
|
||||
oss mixer device name
|
||||
OSS_MIXER_CHANNEL=pcm
|
||||
|
20
audio.c
20
audio.c
@ -620,7 +620,7 @@ static void AudioResample(const int16_t * in, int in_chan, int frames,
|
||||
typedef struct _audio_ring_ring_
|
||||
{
|
||||
char FlushBuffers; ///< flag: flush buffers
|
||||
char Passthrough; ///< flag: use pass-through (AC3, ...)
|
||||
char Passthrough; ///< flag: use pass-through (AC-3, ...)
|
||||
int16_t PacketSize; ///< packet size
|
||||
unsigned HwSampleRate; ///< hardware sample rate in Hz
|
||||
unsigned HwChannels; ///< hardware number of channels
|
||||
@ -642,7 +642,7 @@ static unsigned AudioStartThreshold; ///< start play, if filled
|
||||
**
|
||||
** @param sample_rate sample-rate frequency
|
||||
** @param channels number of channels
|
||||
** @param passthrough use /pass-through (AC3, ...) device
|
||||
** @param passthrough use /pass-through (AC-3, ...) device
|
||||
**
|
||||
** @retval -1 error
|
||||
** @retval 0 okay
|
||||
@ -838,7 +838,7 @@ static int AlsaPlayRingbuffer(void)
|
||||
if (!avail) { // full or buffer empty
|
||||
break;
|
||||
}
|
||||
// muting pass-through ac3, can produce disturbance
|
||||
// muting pass-through AC-3, can produce disturbance
|
||||
if (AudioMute || (AudioSoftVolume
|
||||
&& !AudioRing[AudioRingRead].Passthrough)) {
|
||||
// FIXME: quick&dirty cast
|
||||
@ -987,7 +987,7 @@ static int AlsaThread(void)
|
||||
/**
|
||||
** Open alsa pcm device.
|
||||
**
|
||||
** @param passthrough use pass-through (AC3, ...) device
|
||||
** @param passthrough use pass-through (AC-3, ...) device
|
||||
*/
|
||||
static snd_pcm_t *AlsaOpenPCM(int passthrough)
|
||||
{
|
||||
@ -1170,7 +1170,7 @@ static int64_t AlsaGetDelay(void)
|
||||
**
|
||||
** @param freq sample frequency
|
||||
** @param channels number of channels
|
||||
** @param passthrough use pass-through (AC3, ...) device
|
||||
** @param passthrough use pass-through (AC-3, ...) device
|
||||
**
|
||||
** @retval 0 everything ok
|
||||
** @retval 1 didn't support frequency/channels combination
|
||||
@ -1563,7 +1563,7 @@ static int OssThread(void)
|
||||
/**
|
||||
** Open OSS pcm device.
|
||||
**
|
||||
** @param passthrough use pass-through (AC3, ...) device
|
||||
** @param passthrough use pass-through (AC-3, ...) device
|
||||
*/
|
||||
static int OssOpenPCM(int passthrough)
|
||||
{
|
||||
@ -1727,7 +1727,7 @@ static int64_t OssGetDelay(void)
|
||||
**
|
||||
** @param sample_rate sample rate/frequency
|
||||
** @param channels number of channels
|
||||
** @param passthrough use pass-through (AC3, ...) device
|
||||
** @param passthrough use pass-through (AC-3, ...) device
|
||||
**
|
||||
** @retval 0 everything ok
|
||||
** @retval 1 didn't support frequency/channels combination
|
||||
@ -1745,7 +1745,7 @@ static int OssSetup(int *sample_rate, int *channels, int passthrough)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (1) { // close+open for pcm / ac3
|
||||
if (1) { // close+open for pcm / AC-3
|
||||
int fildes;
|
||||
|
||||
fildes = OssPcmFildes;
|
||||
@ -1934,7 +1934,7 @@ static void NoopSetVolume( __attribute__ ((unused))
|
||||
**
|
||||
** @param freq sample frequency
|
||||
** @param channels number of channels
|
||||
** @param passthrough use pass-through (AC3, ...) device
|
||||
** @param passthrough use pass-through (AC-3, ...) device
|
||||
*/
|
||||
static int NoopSetup( __attribute__ ((unused))
|
||||
int *channels, __attribute__ ((unused))
|
||||
@ -2576,7 +2576,7 @@ void AudioSetVolume(int volume)
|
||||
**
|
||||
** @param freq sample frequency
|
||||
** @param channels number of channels
|
||||
** @param passthrough use pass-through (AC3, ...) device
|
||||
** @param passthrough use pass-through (AC-3, ...) device
|
||||
**
|
||||
** @retval 0 everything ok
|
||||
** @retval 1 didn't support frequency/channels combination
|
||||
|
14
codec.c
14
codec.c
@ -710,7 +710,7 @@ enum IEC61937
|
||||
|
||||
#ifdef USE_AUDIO_DRIFT_CORRECTION
|
||||
#define CORRECT_PCM 1 ///< do PCM audio-drift correction
|
||||
#define CORRECT_AC3 2 ///< do AC3 audio-drift correction
|
||||
#define CORRECT_AC3 2 ///< do AC-3 audio-drift correction
|
||||
static char CodecAudioDrift; ///< flag: enable audio-drift correction
|
||||
#else
|
||||
static const int CodecAudioDrift = 0;
|
||||
@ -871,7 +871,7 @@ void CodecAudioClose(AudioDecoder * audio_decoder)
|
||||
/**
|
||||
** Set audio drift correction.
|
||||
**
|
||||
** @param mask enable mask (PCM, AC3)
|
||||
** @param mask enable mask (PCM, AC-3)
|
||||
*/
|
||||
void CodecSetAudioDrift(int mask)
|
||||
{
|
||||
@ -884,7 +884,7 @@ void CodecSetAudioDrift(int mask)
|
||||
/**
|
||||
** Set audio pass-through.
|
||||
**
|
||||
** @param mask enable mask (PCM, AC3, EAC3)
|
||||
** @param mask enable mask (PCM, AC-3, E-AC-3)
|
||||
*/
|
||||
void CodecSetAudioPassthrough(int mask)
|
||||
{
|
||||
@ -985,8 +985,8 @@ static int CodecAudioUpdateHelper(AudioDecoder * audio_decoder,
|
||||
av_get_sample_fmt_name(audio_ctx->sample_fmt), audio_ctx->sample_rate,
|
||||
audio_ctx->channels, CodecPassthrough & CodecPCM ? " PCM" : "",
|
||||
CodecPassthrough & CodecMPA ? " MPA" : "",
|
||||
CodecPassthrough & CodecAC3 ? " AC3" : "",
|
||||
CodecPassthrough & CodecEAC3 ? " EAC3" : "",
|
||||
CodecPassthrough & CodecAC3 ? " AC-3" : "",
|
||||
CodecPassthrough & CodecEAC3 ? " E-AC-3" : "",
|
||||
CodecPassthrough ? " pass-through" : "");
|
||||
|
||||
*passthrough = 0;
|
||||
@ -1001,7 +1001,7 @@ static int CodecAudioUpdateHelper(AudioDecoder * audio_decoder,
|
||||
|| (CodecPassthrough & CodecEAC3
|
||||
&& audio_ctx->codec_id == AV_CODEC_ID_EAC3)) {
|
||||
if (audio_ctx->codec_id == AV_CODEC_ID_EAC3) {
|
||||
// EAC3 over HDMI some receivers need HBR
|
||||
// E-AC-3 over HDMI some receivers need HBR
|
||||
audio_decoder->HwSampleRate *= 4;
|
||||
}
|
||||
audio_decoder->HwChannels = 2;
|
||||
@ -1014,7 +1014,7 @@ static int CodecAudioUpdateHelper(AudioDecoder * audio_decoder,
|
||||
AudioSetup(&audio_decoder->HwSampleRate,
|
||||
&audio_decoder->HwChannels, *passthrough))) {
|
||||
|
||||
// try EAC3 none HBR
|
||||
// try E-AC-3 none HBR
|
||||
audio_decoder->HwSampleRate /= 4;
|
||||
if (audio_ctx->codec_id != AV_CODEC_ID_EAC3
|
||||
|| (err =
|
||||
|
2
codec.h
2
codec.h
@ -30,7 +30,7 @@
|
||||
#define CodecPCM 0x01 ///< PCM bit mask
|
||||
#define CodecMPA 0x02 ///< MPA bit mask (planned)
|
||||
#define CodecAC3 0x04 ///< AC-3 bit mask
|
||||
#define CodecEAC3 0x08 ///< EAC-3 bit mask
|
||||
#define CodecEAC3 0x08 ///< E-AC-3 bit mask
|
||||
#define CodecDTS 0x10 ///< DTS bit mask (planned)
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
12
po/de_DE.po
12
po/de_DE.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR \n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2013-04-16 15:10+0200\n"
|
||||
"POT-Creation-Date: 2013-07-25 13:22+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -384,6 +384,10 @@ msgstr ""
|
||||
msgid "[softhddev] invalid PES video packet\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "[softhddev] %d invalid PES video packet(s)\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "[softhddev] empty video packet\n"
|
||||
msgstr ""
|
||||
|
||||
@ -587,10 +591,10 @@ msgstr ""
|
||||
msgid " AC-3 pass-through"
|
||||
msgstr ""
|
||||
|
||||
msgid " EAC-3 pass-through"
|
||||
msgid " E-AC-3 pass-through"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable (E)AC-3 (decoder) downmix"
|
||||
msgid "Enable (E-)AC-3 (decoder) downmix"
|
||||
msgstr ""
|
||||
|
||||
msgid "Volume control"
|
||||
@ -672,7 +676,7 @@ msgid "Alternative Video Height (%)"
|
||||
msgstr "Alternative Videohöhe (%)"
|
||||
|
||||
#, c-format
|
||||
msgid "[softhddev]pip: invalid pes packet %d\n"
|
||||
msgid "[softhddev]pip: invalid PES packet %d\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "[softhddev]pip: pes buffer too small\n"
|
||||
|
26
softhddev.c
26
softhddev.c
@ -309,7 +309,7 @@ static int LatmCheck(const uint8_t * data, int size)
|
||||
}
|
||||
|
||||
///
|
||||
/// Possible AC3 frame sizes.
|
||||
/// Possible AC-3 frame sizes.
|
||||
///
|
||||
/// from ATSC A/52 table 5.18 frame size code table.
|
||||
///
|
||||
@ -327,9 +327,9 @@ const uint16_t Ac3FrameSizeTable[38][3] = {
|
||||
};
|
||||
|
||||
///
|
||||
/// Fast check for (E)AC3 audio.
|
||||
/// Fast check for (E-)AC-3 audio.
|
||||
///
|
||||
/// 5 bytes 0x0B77xxxxxx AC3 audio
|
||||
/// 5 bytes 0x0B77xxxxxx AC-3 audio
|
||||
///
|
||||
static inline int FastAc3Check(const uint8_t * p)
|
||||
{
|
||||
@ -343,7 +343,7 @@ static inline int FastAc3Check(const uint8_t * p)
|
||||
}
|
||||
|
||||
///
|
||||
/// Check for (E)AC-3 audio.
|
||||
/// Check for (E-)AC-3 audio.
|
||||
///
|
||||
/// 0x0B77xxxxxx already checked.
|
||||
///
|
||||
@ -354,7 +354,7 @@ static inline int FastAc3Check(const uint8_t * p)
|
||||
/// @retval 0 no valid AC-3 audio
|
||||
/// @retval >0 valid AC-3 audio
|
||||
///
|
||||
/// o AC3 Header
|
||||
/// o AC-3 Header
|
||||
/// AAAAAAAA AAAAAAAA BBBBBBBB BBBBBBBB CCDDDDDD EEEEEFFF
|
||||
///
|
||||
/// o a 16x Frame sync, always 0x0B77
|
||||
@ -364,7 +364,7 @@ static inline int FastAc3Check(const uint8_t * p)
|
||||
/// o e 5x Bitstream ID
|
||||
/// o f 3x Bitstream mode
|
||||
///
|
||||
/// o EAC3 Header
|
||||
/// o E-AC-3 Header
|
||||
/// AAAAAAAA AAAAAAAA BBCCCDDD DDDDDDDD EEFFGGGH IIIII...
|
||||
///
|
||||
/// o a 16x Frame sync, always 0x0B77
|
||||
@ -378,17 +378,17 @@ static int Ac3Check(const uint8_t * data, int size)
|
||||
{
|
||||
int frame_size;
|
||||
|
||||
if (size < 5) { // need 5 bytes to see if AC3/EAC3
|
||||
if (size < 5) { // need 5 bytes to see if AC-3/E-AC-3
|
||||
return -5;
|
||||
}
|
||||
|
||||
if (data[5] > (10 << 3)) { // EAC3
|
||||
if (data[5] > (10 << 3)) { // E-AC-3
|
||||
if ((data[4] & 0xF0) == 0xF0) { // invalid fscod fscod2
|
||||
return 0;
|
||||
}
|
||||
frame_size = ((data[2] & 0x03) << 8) + data[3] + 1;
|
||||
frame_size *= 2;
|
||||
} else { // AC3
|
||||
} else { // AC-3
|
||||
int fscod;
|
||||
int frmsizcod;
|
||||
|
||||
@ -664,8 +664,8 @@ static void PesParse(PesDemux * pesdx, const uint8_t * data, int size,
|
||||
unsigned codec_id;
|
||||
|
||||
// 4 bytes 0xFFExxxxx Mpeg audio
|
||||
// 5 bytes 0x0B77xxxxxx AC3 audio
|
||||
// 6 bytes 0x0B77xxxxxxxx EAC3 audio
|
||||
// 5 bytes 0x0B77xxxxxx AC-3 audio
|
||||
// 6 bytes 0x0B77xxxxxxxx E-AC-3 audio
|
||||
// 3 bytes 0x56Exxx AAC LATM audio
|
||||
// 7/9 bytes 0xFFFxxxxxxxxxxx ADTS audio
|
||||
// PCM audio can't be found
|
||||
@ -1170,8 +1170,8 @@ int PlayAudio(const uint8_t * data, int size, uint8_t id)
|
||||
|
||||
// 4 bytes 0xFFExxxxx Mpeg audio
|
||||
// 3 bytes 0x56Exxx AAC LATM audio
|
||||
// 5 bytes 0x0B77xxxxxx AC3 audio
|
||||
// 6 bytes 0x0B77xxxxxxxx EAC3 audio
|
||||
// 5 bytes 0x0B77xxxxxx AC-3 audio
|
||||
// 6 bytes 0x0B77xxxxxxxx E-AC-3 audio
|
||||
// 7/9 bytes 0xFFFxxxxxxxxxxx ADTS audio
|
||||
// PCM audio can't be found
|
||||
r = 0;
|
||||
|
@ -52,7 +52,7 @@ extern "C"
|
||||
/// vdr-plugin version number.
|
||||
/// Makefile extracts the version number for generating the file name
|
||||
/// for the distribution archive.
|
||||
static const char *const VERSION = "0.6.0"
|
||||
static const char *const VERSION = "0.6.1rc1"
|
||||
#ifdef GIT_REV
|
||||
"-GIT" GIT_REV
|
||||
#endif
|
||||
@ -854,9 +854,9 @@ void cMenuSetupSoft::Create(void)
|
||||
&AudioPassthroughPCM, trVDR("no"), trVDR("yes")));
|
||||
Add(new cMenuEditBoolItem(tr("\040\040AC-3 pass-through"),
|
||||
&AudioPassthroughAC3, trVDR("no"), trVDR("yes")));
|
||||
Add(new cMenuEditBoolItem(tr("\040\040EAC-3 pass-through"),
|
||||
Add(new cMenuEditBoolItem(tr("\040\040E-AC-3 pass-through"),
|
||||
&AudioPassthroughEAC3, trVDR("no"), trVDR("yes")));
|
||||
Add(new cMenuEditBoolItem(tr("Enable (E)AC-3 (decoder) downmix"),
|
||||
Add(new cMenuEditBoolItem(tr("Enable (E-)AC-3 (decoder) downmix"),
|
||||
&AudioDownmix, trVDR("no"), trVDR("yes")));
|
||||
Add(new cMenuEditBoolItem(tr("Volume control"), &AudioSoftvol,
|
||||
tr("Hardware"), tr("Software")));
|
||||
|
Loading…
Reference in New Issue
Block a user