Ticket #4764: mythtv_mm_restrict.1.patch

File mythtv_mm_restrict.1.patch, 4.4 KB (added by Mark Spieth, 16 years ago)
  • mythmusic/mythmusic/aacdecoder.cpp

     
    1313#ifdef __STDC_LIMIT_MACROS
    1414#define FAAD_MODIFIED
    1515#endif
     16#define FAAD_MODIFIED
    1617
    1718#include <iostream>
    1819#include <string>
     
    123124            ulong sz = output_bytes < bks ? output_bytes : bks;
    124125
    125126            int samples = (sz * 8) / (channels * 16);
    126             if (output()->AddSamples(output_buf, samples, -1))
     127            bool ok = (output()->GetAudioBufferedTime() <= 500);
     128            if (ok) ok = output()->AddSamples(output_buf, samples, -1);
     129            if (ok)
    127130              {
    128131                output_bytes -= sz;
    129132                memmove(output_buf, output_buf + sz, output_bytes);
  • mythmusic/mythmusic/vorbisdecoder.cpp

     
    115115            ulong sz = output_bytes < bks ? output_bytes : bks;
    116116
    117117            int samples = (sz*8)/(chan*16);
    118             if (output()->AddSamples(output_buf, samples, -1))
     118            bool ok = (output()->GetAudioBufferedTime() <= 500);
     119            if (ok) ok = output()->AddSamples(output_buf, samples, -1);
     120            if (ok)
    119121            {
    120122                output_bytes -= sz;
    121123                memmove(output_buf, output_buf + sz, output_bytes);
  • mythmusic/mythmusic/avfdecoder.cpp

     
    9292            ulong sz = output_bytes < bks ? output_bytes : bks;
    9393
    9494            int samples = (sz*8)/(chan*16);
    95             if (output()->AddSamples(output_buf, samples, -1))
     95            bool ok = (output()->GetAudioBufferedTime() <= 500);
     96            if (ok) ok = output()->AddSamples(output_buf, samples, -1);
     97            if (ok)
    9698            {
    9799                output_bytes -= sz;
    98100                memmove(output_buf, output_buf + sz, output_bytes);
  • mythmusic/mythmusic/flacdecoder.cpp

     
    218218            ulong sz = output_bytes < bks ? output_bytes : bks;
    219219
    220220            int samples = (sz*8)/(chan*bitspersample);
    221             if (output()->AddSamples(output_buf, samples, -1))
     221            bool ok = (output()->GetAudioBufferedTime() <= 500);
     222            if (ok) ok = output()->AddSamples(output_buf, samples, -1);
     223            if (ok)
    222224           {
    223225                output_bytes -= sz;
    224226                memmove(output_buf, output_buf + sz, output_bytes);
  • mythmusic/mythmusic/cddecoder.cpp

     
    7070            ulong sz = output_bytes < bks ? output_bytes : bks;
    7171
    7272            int samples = (sz*8)/(chan*16);
    73             if (output()->AddSamples(output_buf, samples, -1))
     73            bool ok = (output()->GetAudioBufferedTime() <= 500);
     74            if (ok) ok = output()->AddSamples(output_buf, samples, -1);
     75            if (ok)
    7476            {
    7577                output_bytes -= sz;
    7678                memmove(output_buf, output_buf + sz, output_bytes);
  • mythmusic/mythmusic/maddecoder.cpp

     
    299299            ulong sz = output_bytes < bks ? output_bytes : bks;
    300300
    301301            int samples = (sz*8)/(channels*16);
    302             if (output()->AddSamples(output_buf, samples, -1))
     302            bool ok = (output()->GetAudioBufferedTime() <= 500);
     303            if (ok) ok = output()->AddSamples(output_buf, samples, -1);
     304            if (ok)
    303305            {
    304306                output_bytes -= sz;
    305307                memmove(output_buf, output_buf + sz, output_bytes);
    306308                output_at = output_bytes;
    307309            } else {
    308310                unlock();
    309                 usleep(500);
     311                usleep(5000);
    310312                lock();
    311313                done = user_stop;
    312314            }