diff options
Diffstat (limited to 'libMpegTPEnc/src')
| -rw-r--r-- | libMpegTPEnc/src/tpenc_latm.cpp | 27 | ||||
| -rw-r--r-- | libMpegTPEnc/src/version | 2 | 
2 files changed, 14 insertions, 15 deletions
| diff --git a/libMpegTPEnc/src/tpenc_latm.cpp b/libMpegTPEnc/src/tpenc_latm.cpp index 58e51ef..f292019 100644 --- a/libMpegTPEnc/src/tpenc_latm.cpp +++ b/libMpegTPEnc/src/tpenc_latm.cpp @@ -2,7 +2,7 @@  /* -----------------------------------------------------------------------------------------------------------  Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright  1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright  1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.    All rights reserved.   1.    INTRODUCTION @@ -296,6 +296,7 @@ CreateStreamMuxConfig(    USHORT coreFrameOffset=0; +  hAss->taraBufferFullness  = 0xFF;    hAss->audioMuxVersionA    = 0; /* for future extensions */    hAss->streamMuxConfigBits = 0; @@ -339,13 +340,7 @@ CreateStreamMuxConfig(              hAss->streamMuxConfigBits+=1;            }            if( (useSameConfig == 0) || (transLayer==0) ) { -            UINT bits; - -            if ( hAss->audioMuxVersion == 1 ) { -              FDKpushFor(hBs, 2); /* align to ASC, even if we do not know the length of the "ascLen" field yet */ -            } - -            bits = FDKgetValidBits( hBs ); +            const UINT alignAnchor = FDKgetValidBits(hBs);              transportEnc_writeASC(                      hBs, @@ -353,19 +348,24 @@ CreateStreamMuxConfig(                      cb                      ); -            bits = FDKgetValidBits( hBs ) - bits; -              if ( hAss->audioMuxVersion == 1 ) { -              FDKpushBack(hBs, bits+2); -              hAss->streamMuxConfigBits += transportEnc_LatmWriteValue( hBs, bits ); +              UINT ascLen = transportEnc_LatmWriteValue(hBs, 0); +              FDKbyteAlign(hBs, alignAnchor); +              ascLen = FDKgetValidBits(hBs) - alignAnchor - ascLen; +              FDKpushBack(hBs, FDKgetValidBits(hBs) - alignAnchor); + +              transportEnc_LatmWriteValue(hBs, ascLen); +                transportEnc_writeASC(                        hBs,                        hAss->config[prog][layer],                        cb                        ); + +              FDKbyteAlign(hBs, alignAnchor); /* asc length fillbits */              } -            hAss->streamMuxConfigBits += bits; /* add asc length to smc summary */ +            hAss->streamMuxConfigBits += FDKgetValidBits(hBs) - alignAnchor; /* add asc length to smc summary */            }            transLayer++; @@ -384,7 +384,6 @@ CreateStreamMuxConfig(            case AOT_ER_AAC_LD     :            case AOT_ER_AAC_ELD    :            case AOT_USAC: -          case AOT_RSVD50:              p_linfo->frameLengthType = 0;              FDKwriteBits( hBs, p_linfo->frameLengthType, 3 );                        /* frameLengthType */ diff --git a/libMpegTPEnc/src/version b/libMpegTPEnc/src/version index fc7e5f0..8742568 100644 --- a/libMpegTPEnc/src/version +++ b/libMpegTPEnc/src/version @@ -2,7 +2,7 @@  /* library info */  #define TP_LIB_VL0 2  #define TP_LIB_VL1 3 -#define TP_LIB_VL2 4 +#define TP_LIB_VL2 6  #define TP_LIB_TITLE "MPEG Transport"  #ifdef __ANDROID__  #define TP_LIB_BUILD_DATE "" | 
