Ticket #1481: firewire_buf_fix.diff
File firewire_buf_fix.diff, 2.3 KB (added by , 18 years ago) |
---|
-
libs/libmythtv/firewirerecorder.cpp
22 22 #define LOC QString("FireRec: ") 23 23 #define LOC_ERR QString("FireRec, Error: ") 24 24 25 const int FirewireRecorder::kBroadcastChannel = 63; 26 const int FirewireRecorder::kTimeoutInSeconds = 15; 27 const int FirewireRecorder::kConnectionP2P = 0; 28 const int FirewireRecorder::kConnectionBroadcast = 1; 25 const int FirewireRecorder::kBroadcastChannel = 63; 26 const int FirewireRecorder::kTimeoutInSeconds = 15; 27 const int FirewireRecorder::kConnectionP2P = 0; 28 const int FirewireRecorder::kConnectionBroadcast = 1; 29 const uint FirewireRecorder::kMaxBufferedPackets = 8000; 29 30 30 31 // callback function for libiec61883 31 32 int fw_tspacket_handler(unsigned char *tspacket, int /*len*/, … … 157 158 return false; 158 159 } 159 160 160 // Set buffer size161 // Set buffered packets size 161 162 size_t buffer_size = gContext->GetNumSetting("HDRingbufferSize", 162 163 50 * TSPacket::SIZE); 163 iec61883_mpeg2_set_buffers(fwmpeg, buffer_size / 2); 164 size_t buffered_packets = min(buffer_size / 4, kMaxBufferedPackets); 165 iec61883_mpeg2_set_buffers(fwmpeg, buffered_packets); 164 166 VERBOSE(VB_IMPORTANT, LOC + 165 QString("Buffer size %1 KB").arg(buffer_size)); 167 QString("Buffered packets %1 (%2 KB)"). 168 arg(buffered_packets).arg(buffered_packets * 4)); 166 169 167 170 // Set speed if needed. 168 171 // Probably shouldn't even allow user to set, -
libs/libmythtv/firewirerecorder.h
78 78 MPEGStreamData *_mpeg_stream_data; 79 79 TSStats _ts_stats; 80 80 81 static const int kBroadcastChannel; 82 static const int kTimeoutInSeconds; 83 static const int kConnectionP2P; 84 static const int kConnectionBroadcast; 81 static const int kBroadcastChannel; 82 static const int kTimeoutInSeconds; 83 static const int kConnectionP2P; 84 static const int kConnectionBroadcast; 85 static const uint kMaxBufferedPackets; 85 86 }; 86 87 87 88 #endif