Ticket #5082: libs_libmythtv_avformatdecoder.cpp-check-GetAudioBufferStatus-and-report.patch

File libs_libmythtv_avformatdecoder.cpp-check-GetAudioBufferStatus-and-report.patch, 1.8 KB (added by Erik Hovland <erik@…>, 12 years ago)

checks GetAudioBufferStatus? for failure

  • libs/libmythtv/avformatdecoder.cpp

    NuppelVideoPlayer::GetAudioBufferStatus returns a false if it failed.
    
    From: Erik Hovland <erik@hovland.org>
    
    It should be reported.
    ---
    
     libs/libmythtv/avformatdecoder.cpp |   17 ++++++++++-------
     1 files changed, 10 insertions(+), 7 deletions(-)
    
    diff --git a/libs/libmythtv/avformatdecoder.cpp b/libs/libmythtv/avformatdecoder.cpp
    index 46a898d..4f325b0 100644
    a b bool AvFormatDecoder::GetFrame(int onlyvideo) 
    35413541                    if (!allowedquit && (onlyvideo < 0))
    35423542                    {
    35433543                        uint fill, total;
    3544                         GetNVP()->GetAudioBufferStatus(fill, total);
    3545                         total /= 6; // HACK needed for some audio files
    3546                         allowedquit =
    3547                             (fill == 0) || (fill > (total>>1)) ||
    3548                             ((total - fill) < (uint) data_size) ||
    3549                             (ofill + total_decoded_audio > (total>>2)) ||
    3550                             ((total - fill) < (uint) data_size * 2);
     3544                        if (GetNVP()->GetAudioBufferStatus(fill, total)) {
     3545                            total /= 6; // HACK needed for some audio files
     3546                            allowedquit =
     3547                                (fill == 0) || (fill > (total>>1)) ||
     3548                                ((total - fill) < (uint) data_size) ||
     3549                                (ofill + total_decoded_audio > (total>>2)) ||
     3550                                ((total - fill) < (uint) data_size * 2);
     3551                        } else
     3552                            VERBOSE(VB_IMPORTANT, LOC_ERR + "AvFormatDecoder::GetFrame : "
     3553                                    "Failed topping off buffers in audio only mode");
    35513554                    }
    35523555
    35533556                    break;