Ticket #4764: mythtv_ac3.54-v2.patch
| File mythtv_ac3.54-v2.patch, 4.1 KB (added by , 18 years ago) |
|---|
-
libs/libmythtv/avformatdecoder.cpp
4002 4002 digInfo.sample_rate = 48000; 4003 4003 digInfo.sample_size = 4; 4004 4004 } 4005 #if 0 4005 4006 if (audioOut.channels > (int) max_channels) 4006 4007 { 4007 4008 audioOut.channels = (int) max_channels; 4008 4009 audioOut.sample_size = audioOut.channels * 2; 4009 4010 codec_ctx->channels = audioOut.channels; 4010 4011 } 4012 #endif 4011 4013 VERBOSE(VB_AUDIO, LOC + "Audio format changed digital passthrough " + 4012 4014 QString("%1\n\t\t\tfrom %2 ; %3\n\t\t\tto %4 ; %5") 4013 4015 .arg(digInfo.toString()) -
libs/libmyth/audiooutputbase.h
56 56 virtual void Drain(void); 57 57 58 58 virtual int GetAudiotime(void) const; 59 virtual int GetAudioBufferedTime(void) const; 59 60 60 61 // Send output events showing current progress 61 62 virtual void Status(void); -
libs/libmyth/audiooutputalsa.cpp
80 80 } 81 81 else 82 82 { 83 fragment_size = 6144; // nicely divisible by 2,4,6,8 channels @ 16-bits 84 buffer_time = 500000; // 500 ms 85 period_time = buffer_time / 4; // 4 interrupts per buffer 83 fragment_size = 1536 * audio_channels * audio_bits / 8; 84 period_time = 25000; // in usec, interrupt period time 85 // in usec, for driver buffer alloc (64k max) 86 buffer_time = period_time * 16; 86 87 } 87 88 88 89 if (audio_bits == 8) -
libs/libmyth/audiooutputbase.cpp
683 683 pthread_mutex_unlock(&audio_buflock); 684 684 } 685 685 686 int AudioOutputBase::GetAudioBufferedTime(void) const 687 { 688 return audbuf_timecode - GetAudiotime(); 689 } 690 686 691 bool AudioOutputBase::AddSamples(char *buffers[], int samples, 687 692 long long timecode) 688 693 { … … 704 709 len += (pSoundStretch->numUnprocessedSamples() + 705 710 (int)(pSoundStretch->numSamples()/audio_stretchfactor))*abps; 706 711 707 if (( (len > afree) || ((audbuf_timecode - GetAudiotime()) > 2000)) && !blocking)712 if ((len > afree) && !blocking) 708 713 { 709 714 VERBOSE(VB_AUDIO|VB_TIMESTAMP, LOC + QString( 710 715 "AddSamples FAILED bytes=%1, used=%2, free=%3, timecode=%4") … … 773 778 (int)(pSoundStretch->numSamples()/audio_stretchfactor))*abps; 774 779 } 775 780 776 if (( (len > afree) || (audiotime && ((audbuf_timecode - GetAudiotime()) > 2000))) && !blocking)781 if ((len > afree) && !blocking) 777 782 { 778 783 VERBOSE(VB_AUDIO|VB_TIMESTAMP, LOC + QString( 779 784 "AddSamples FAILED bytes=%1, used=%2, free=%3, timecode=%4") -
libs/libmyth/audiooutputdigitalencoder.cpp
26 26 #define MAX_AC3_FRAME_SIZE 6144 27 27 28 28 AudioOutputDigitalEncoder::AudioOutputDigitalEncoder(void) : 29 audio_bytes_per_sample(0), 29 30 av_context(NULL), 30 31 outbuf(NULL), 31 32 outbuf_size(0), -
libs/libmyth/audiooutput.h
53 53 54 54 virtual int GetAudiotime(void) const = 0; 55 55 56 /// report amount of audio buffered in milliseconds. 57 virtual int GetAudioBufferedTime(void) const { return 0; } 58 56 59 virtual void SetSourceBitrate(int ) { } 57 60 58 61 QString GetError(void) const { return lastError; }
