From ed9299c780f07f880fec3c33d195f54d767789bd Mon Sep 17 00:00:00 2001 From: martii Date: Mon, 11 Nov 2013 12:30:47 +0100 Subject: [PATCH] libspark/audio, libeplayer3: audio type adjustments --- libeplayer3/container/container_ffmpeg.c | 2 ++ libeplayer3/include/writer.h | 1 + libeplayer3/output/writer/ac3.c | 14 ++++++++++++++ libeplayer3/output/writer/writer.c | 1 + libspark/playback_libeplayer3.cpp | 4 ++++ 5 files changed, 22 insertions(+) diff --git a/libeplayer3/container/container_ffmpeg.c b/libeplayer3/container/container_ffmpeg.c index 1eb9be6..8ae8640 100644 --- a/libeplayer3/container/container_ffmpeg.c +++ b/libeplayer3/container/container_ffmpeg.c @@ -198,6 +198,8 @@ static char* Codec2Encoding(AVCodecContext *codec, int* version) return "A_MP3"; case AV_CODEC_ID_AC3: return "A_AC3"; + case AV_CODEC_ID_EAC3: + return "A_EAC3"; case AV_CODEC_ID_DTS: return "A_DTS"; #if 0 diff --git a/libeplayer3/include/writer.h b/libeplayer3/include/writer.h index 61c6c35..18df3a3 100644 --- a/libeplayer3/include/writer.h +++ b/libeplayer3/include/writer.h @@ -58,6 +58,7 @@ extern Writer_t WriterAudioPCM; extern Writer_t WriterAudioMP3; extern Writer_t WriterAudioMPEGL3; extern Writer_t WriterAudioAC3; +extern Writer_t WriterAudioEAC3; extern Writer_t WriterAudioAAC; extern Writer_t WriterAudioDTS; extern Writer_t WriterAudioWMA; diff --git a/libeplayer3/output/writer/ac3.c b/libeplayer3/output/writer/ac3.c index 96d6729..a2e062b 100644 --- a/libeplayer3/output/writer/ac3.c +++ b/libeplayer3/output/writer/ac3.c @@ -147,3 +147,17 @@ struct Writer_s WriterAudioAC3 = { NULL, &caps_ac3 }; + +static WriterCaps_t caps_eac3 = { + "ac3", + eAudio, + "A_AC3", + AUDIO_ENCODING_AC3 +}; + +struct Writer_s WriterAudioEAC3 = { + &reset, + &writeData, + NULL, + &caps_eac3 +}; diff --git a/libeplayer3/output/writer/writer.c b/libeplayer3/output/writer/writer.c index 5d34568..8ad6c91 100644 --- a/libeplayer3/output/writer/writer.c +++ b/libeplayer3/output/writer/writer.c @@ -64,6 +64,7 @@ static Writer_t * AvailableWriter[] = { &WriterAudioMP3, &WriterAudioMPEGL3, &WriterAudioAC3, + &WriterAudioEAC3, &WriterAudioAAC, &WriterAudioDTS, &WriterAudioWMA, diff --git a/libspark/playback_libeplayer3.cpp b/libspark/playback_libeplayer3.cpp index 9b4934c..d070be5 100644 --- a/libspark/playback_libeplayer3.cpp +++ b/libspark/playback_libeplayer3.cpp @@ -470,9 +470,13 @@ void cPlayback::FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t apids[j]=(uint16_t)_pid; // atUnknown, atMPEG, atMP3, atAC3, atDTS, atAAC, atPCM, atOGG, atFLAC if( !strncmp("A_MPEG/L3", TrackList[i+1], 9)) + ac3flags[j] = 3; + if( !strncmp("A_MP3", TrackList[i+1], 5)) ac3flags[j] = 4; else if(!strncmp("A_AC3", TrackList[i+1], 5)) ac3flags[j] = 1; + else if(!strncmp("A_EAC3", TrackList[i+1], 6)) + ac3flags[j] = 7; else if(!strncmp("A_DTS", TrackList[i+1], 5)) ac3flags[j] = 6; else if(!strncmp("A_AAC", TrackList[i+1], 5))