Ticket #6045: dvbrecorder_maps.diff
File dvbrecorder_maps.diff, 1.8 KB (added by , 15 years ago) |
---|
-
dvbrecorder.h
117 117 bool _has_no_av; 118 118 119 119 // TS recorder stuff 120 unsigned char _stream_id[0x1fff + 1];121 unsigned char _pid_status[0x1fff + 1];122 unsigned char _continuity_counter[0x1fff + 1];120 std::map<uint, unsigned char> _stream_id; 121 std::map<uint, unsigned char> _pid_status; 122 std::map<uint, unsigned char> _continuity_counter; 123 123 124 124 // Statistics 125 125 mutable uint _continuity_error_count; … … 137 137 138 138 inline bool DVBRecorder::CheckCC(uint pid, uint new_cnt) 139 139 { 140 bool ok = ((((_continuity_counter[pid] + 1) & 0xf) == new_cnt)||141 (_continuity_counter[pid] == 0xFF));140 bool ok = _continuity_counter.count(pid) == 0 || 141 ((_continuity_counter[pid] + 1) & 0xf) == new_cnt; 142 142 143 143 _continuity_counter[pid] = new_cnt & 0xf; 144 144 -
dvbrecorder.cpp
314 314 if (videodevice.isEmpty()) 315 315 return false; 316 316 317 bzero(_stream_id, sizeof(_stream_id));318 bzero(_pid_status, sizeof(_pid_status));319 memset(_continuity_counter, 0xff, sizeof(_continuity_counter));317 _stream_id.clear(); 318 _pid_status.clear(); 319 _continuity_counter.clear(); 320 320 321 321 _stream_handler = DVBStreamHandler::Get(videodevice); 322 322 … … 432 432 { 433 433 DTVRecorder::ResetForNewFile(); 434 434 435 bzero(_stream_id, sizeof(_stream_id));436 bzero(_pid_status, sizeof(_pid_status));437 memset(_continuity_counter, 0xff, sizeof(_continuity_counter));435 _stream_id.clear(); 436 _pid_status.clear(); 437 _continuity_counter.clear(); 438 438 } 439 439 440 440 void DVBRecorder::StopRecording(void)