Ticket #11507: nuv_planar_audio.patch

File nuv_planar_audio.patch, 1.9 KB (added by Jim Stichnoth, 7 years ago)
  • mythtv/libs/libmythtv/nuppeldecoder.cpp

    diff --git a/mythtv/libs/libmythtv/nuppeldecoder.cpp b/mythtv/libs/libmythtv/nuppeldecoder.cpp
    index a3da830..dd96fff 100644
    a b using namespace std; 
    2222#include "mythlogging.h"
    2323#include "myth_imgconvert.h"
    2424#include "programinfo.h"
     25#include "audiooutpututil.h"
    2526
    2627#include "minilzo.h"
    2728
    bool NuppelDecoder::GetFrame(DecodeType decodetype) 
    12731274
    12741275                while (pkt.size > 0)
    12751276                {
    1276                     int got_frame = 0;
    1277                     ret = avcodec_decode_audio4(mpa_audctx, m_audioFrame,
    1278                                                 &got_frame, &pkt);
    1279 
    1280                     if (got_frame && ret > 0)
    1281                     {
    1282                         int data_size =
    1283                             av_samples_get_buffer_size(NULL,
    1284                                                        mpa_audctx->channels,
    1285                                                        m_audioFrame->nb_samples,
    1286                                                        mpa_audctx->sample_fmt,
    1287                                                        1);
    1288                         m_audio->AddAudioData(
    1289                             (char *)m_audioFrame->extended_data[0],
    1290                             data_size, frameheader.timecode, 0);
    1291                     }
     1277                    uint8_t audioSamples[AVCODEC_MAX_AUDIO_FRAME_SIZE *
     1278                                         sizeof(int32_t)];
     1279                    int data_size = 0;
     1280                    ret = AudioOutputUtil::DecodeAudio(mpa_audctx, audioSamples,
     1281                                                       data_size, &pkt);
     1282                    if (ret)
     1283                        m_audio->AddAudioData((char *)audioSamples, data_size,
     1284                                              frameheader.timecode, 0);
    12921285
    12931286                    pkt.size -= ret;
    12941287                    pkt.data += ret;