Commit Graph

158 Commits

Author SHA1 Message Date
Klaus Schmidinger 515966cdea Fixed generating PMT language descriptors for multi language PIDs 2010-04-18 13:44:56 +02:00
Klaus Schmidinger db5c3cd36a Fixed cFrameDetector::Analyze() in case part of the data has been processed and there is less than MIN_TS_PACKETS_FOR_FRAME_DETECTOR left 2010-04-05 09:38:13 +02:00
Klaus Schmidinger 9424ab26a6 The option "Setup/DVB/Use Dolby Digital" now only controls whether Dolby Digital tracks appear in the "Audio" menu 2010-02-28 14:42:07 +01:00
Klaus Schmidinger 0889960232 The PCR pid is now recorded for channels where this is different from the video PID 2010-01-30 11:10:25 +01:00
Klaus Schmidinger a9543347af Fixed determining the frame duration on channels where the PTS deltas jitter by +/-1 around 3600 2010-01-24 16:14:13 +01:00
Klaus Schmidinger 9ff0e7ef27 The PCR pid in generated PMTs is now set to the channel's PCR pid again 2010-01-24 15:20:49 +01:00
Klaus Schmidinger 96ce981713 Fixed determining the frame duration on channels where the PTS deltas jitter by +/-1 around 1800 2010-01-23 15:39:15 +01:00
Klaus Schmidinger 3d7338de5a cPatPmtParser now also stores the audio stream types 2009-12-31 15:35:37 +01:00
Klaus Schmidinger 6a4d4607e4 Fixed zero-terminating the pid lists 2009-12-29 15:46:12 +01:00
Klaus Schmidinger 07d50dc8c4 cParsePatPmt now has functions to retrieve the audio, dolby and subtitle pids 2009-12-24 12:28:01 +01:00
Klaus Schmidinger 25148b7b05 Fixed handling STREAMTYPE_11172_AUDIO in cPatPmtParser::ParsePmt() 2009-12-24 11:56:50 +01:00
Klaus Schmidinger 5c2a51a7cf Added stream type 11172 AUDIO to cPatPmtParser::ParsePmt() 2009-12-06 14:05:36 +01:00
Klaus Schmidinger 6a208294be Several code modifications to avoid compiler warnings 2009-12-06 12:57:45 +01:00
Klaus Schmidinger 8335ba0a7e The PCR pid in generated PMTs is now set to 0x1FFF ("no PCR pid") in cPatPmtGenerator::GeneratePmt(), because VDR doesn't record the PCR pid 2009-12-05 13:16:34 +01:00
Klaus Schmidinger 62901748b3 The new function cDevice::PatPmtParser() can be used in derived devices to access the PAT/PMT of the currently replayed material 2009-12-05 11:32:31 +01:00
Klaus Schmidinger 8ffbea3788 Fixed generating the index for recordings from channels that put a whole GOP into one payload unit; regenerating index file 2009-11-22 11:30:27 +01:00
Klaus Schmidinger 999df31b8d Fixed writing the PCR pid into the PMT in cPatPmtGenerator::GeneratePmt() 2009-11-01 15:35:34 +01:00
Klaus Schmidinger 95c9d3cf51 Fixed cFrameDetector::Analyze() to handle video streams where the frame type is not detectable from the first TS packet of a frame 2009-11-01 15:02:49 +01:00
Klaus Schmidinger 9b61b20f9a Implemented full handling of subtitling descriptors 2009-08-16 15:32:39 +02:00
Klaus Schmidinger e33ba08af4 Fixed cDevice::PlayTsVideo() and cDevice::PlayTsAudio() in case only part of the buffer has been accepted by the device 2009-06-21 13:34:40 +02:00
Klaus Schmidinger 96d25c3be1 Fixed unwanted track modifications when parsing PAT/PMT for recording 2009-06-06 13:26:23 +02:00
Klaus Schmidinger e51e38bc33 Fixed generating PAT/PMT version numbers in case the PIDs change during recording 2009-05-24 15:11:28 +02:00
Klaus Schmidinger b250709407 Removed unused 'synced' member from cTsToPes 2009-05-17 09:48:14 +02:00
Klaus Schmidinger aae1aa5271 Added MPEG 1 handling to remux.c 2009-05-10 14:32:03 +02:00
Klaus Schmidinger b0d380ba06 cFrameDetector::Analyze() now syncs on the TS packet sync bytes 2009-05-03 14:45:53 +02:00
Klaus Schmidinger 3f492c4f57 Implemented TsSetTeiOnBrokenPackets() 2009-04-19 11:07:07 +02:00
Klaus Schmidinger ce4c062e0d Fixed detecting the frame rate for streams with PTS distances of 1800 2009-04-18 14:59:55 +02:00
Klaus Schmidinger 0a2de94d07 Fixed detecting the frame rate for radio recordings 2009-04-05 14:15:25 +02:00
Klaus Schmidinger e3de25dd11 Modified cFrameDetector::Analyze() to minimize file I/O overhead during recording 2009-03-27 14:11:43 +01:00
Klaus Schmidinger 323969e58d Adapted cFrameDetector::Analyze() to HD NTSC broadcasts that split frames over several payload units 2009-03-27 13:38:59 +01:00
Klaus Schmidinger e7ea3b3c70 Replaced cBackTrace with cPtsIndex 2009-03-13 14:45:12 +01:00
Klaus Schmidinger 85e34776ff The PAT/PMT is now only processed if its version changes 2009-01-24 13:47:46 +01:00
Klaus Schmidinger a02868c90c Fixed detecting frames for pure audio recordings 2009-01-24 12:30:18 +01:00
Klaus Schmidinger 2b174b07bd Changed cPatPmtGenerator to make sure the PMT pid doesn't collide with any of the actual pids of the channel 2009-01-23 16:44:46 +01:00
Klaus Schmidinger 1ca753003b Checking the pointer field in cPatPmtParser::ParsePmt() only in 'payload start' packets 2009-01-23 16:43:23 +01:00
Klaus Schmidinger 4895d6b9e2 Checking the remaining packet length after processing the pointer field 2009-01-23 14:34:05 +01:00
Klaus Schmidinger a1e7922938 Fixed handling the pointer field in cPatPmtParser::ParsePmt() 2009-01-23 14:19:58 +01:00
Klaus Schmidinger 036c292460 Fixed incrementing the continuity counter in cPatPmtGenerator::GetPmt() 2009-01-16 15:28:18 +01:00
Klaus Schmidinger 71dc09e788 Fixed returning complete PES packets in cTsToPes::GetPes() 2009-01-16 14:44:55 +01:00
Klaus Schmidinger f9a2758205 Fixed cPatPmtParser::ParsePmt() to reset vpid and vtype when switching from a video to an audio channel 2009-01-06 14:47:53 +01:00
Klaus Schmidinger 7de7ede26f The recording format is now Transport Stream 2009-01-06 14:41:11 +01:00
Klaus Schmidinger 5cbc33d897 Fixed handling the 'pointer field' in generating and parsing PAT/PMT 2008-12-20 10:46:53 +01:00
Klaus Schmidinger 22feb7bf1c Improved handling PES video packets with zero length when converting from TS to PES 2008-12-13 14:43:22 +01:00
Klaus Schmidinger d9e56db9fc First step towards switching to TS (Transport Stream) as recording format 2008-08-15 14:49:34 +02:00
Klaus Schmidinger ade33990f5 Implemented setup option "Miscellaneous/Emergency exit" 2007-11-25 14:20:03 +01:00
Klaus Schmidinger 4227b6f082 Fixed suddenly stopping subtitles in live mode 2007-11-18 15:21:51 +01:00
Klaus Schmidinger e47d73715b Fixed handling small PES packets that caused subtitles to be displayed late in live mode 2007-11-17 13:59:08 +01:00
Klaus Schmidinger 5793a99d3d Fixed assembling PS1 packets in cTS2PES::instant_repack() 2007-11-10 13:40:51 +01:00
Klaus Schmidinger db3e2a122d Fixed a possible blocking in replay when subtitles are active; fixed displaying subtitles in live mode 2007-11-03 14:39:25 +01:00
Klaus Schmidinger 0c8cda9bd0 Implemented handling DVB subtitles 2007-10-12 14:52:30 +02:00
Klaus Schmidinger ddb7f33567 Rewrite of shutdown handling; implemented cPlugin::WakeupTime(); SIGHUP forces reload; cThread::EmergencyExit() replaced by ShutdownHandler.RequestEmergencyExit() 2007-02-25 10:56:29 +01:00
Klaus Schmidinger 78b78ffd64 Fixed a possible crash in remux.c on 64-bit machines 2006-12-01 14:53:11 +01:00
Klaus Schmidinger 915af4efff Some comment cleanups 2006-04-17 11:00:00 +02:00
Klaus Schmidinger daaab1dfc8 Speeded up cRemux::ScanVideoPacket() 2006-03-25 12:29:04 +01:00
Klaus Schmidinger f0741c95c0 Speeded up cVideoRepacker 2006-02-03 16:20:14 +01:00
Klaus Schmidinger 2d863532cc Cleaned up some trailing white space 2006-01-08 11:44:37 +01:00
Klaus Schmidinger e9e8241d0d Fixed handling TS packets in cTS2PES 2006-01-03 11:00:38 +01:00
Klaus Schmidinger f50844d733 Fixed incrementing the 'state' variables in the repacker classes in remux.c to avoid warnings with g++ 4.1.0 2006-01-01 15:06:02 +01:00
Klaus Schmidinger 506b0de497 Fixed using MIN_LOG_INTERVAL 2005-12-04 13:56:50 +01:00
Klaus Schmidinger dbb09c5ba1 Limited the frequency of log messages from the cRepackers 2005-12-03 15:01:01 +01:00
Klaus Schmidinger 922649037f Improved TS/PES conversion to better handle lost TS packets 2005-12-03 12:18:15 +01:00
Klaus Schmidinger e785f39acb More cRepacker fixes 2005-09-11 11:00:00 +02:00
Klaus Schmidinger faedc7862e More cRepacker fixes 2005-09-04 15:15:14 +02:00
Klaus Schmidinger f418ef02f8 Now always using stream id 0xE0 for the video stream 2005-08-28 21:49:34 +02:00
Klaus Schmidinger b28336340d Fixed syncing in cRepacker 2005-08-28 21:25:17 +02:00
Klaus Schmidinger db44b98eed Added some missing braces in remux.c 2005-08-28 21:07:37 +02:00
Klaus Schmidinger c474f2c9a7 Changed credit 2005-08-28 11:46:44 +02:00
Klaus Schmidinger 62aa0902b0 More changes from Reinhard Nissl 2005-08-28 11:23:23 +02:00
Klaus Schmidinger 7ef6d79884 Added missing braces 2005-08-27 09:03:56 +02:00
Klaus Schmidinger 0201f7cbf8 Modified handling of audio packets for radio channels in remux.c 2005-08-26 13:37:42 +02:00
Klaus Schmidinger 449ffebcac Implemented cAudioRepacker 2005-08-26 13:34:07 +02:00
Klaus Schmidinger 9dd6796702 Fixed cVideoRepacker to better handle errors in data 2005-08-21 09:00:31 +02:00
Klaus Schmidinger 6ebed0fc86 Reactivated cVideoRepacker after some fixes 2005-07-30 10:25:03 +02:00
Klaus Schmidinger f996f10099 Disabled cVideoRepacker in remux.c 2005-06-19 10:19:13 +02:00
Klaus Schmidinger 60a35366dd Implemented cVideoRepacker in remux.c to make sure every PES packet contains only data from one frame 2005-06-04 14:49:25 +02:00
Klaus Schmidinger fa512884b9 Additional fixes to cDolbyRepacker 2005-03-20 13:18:15 +01:00
Klaus Schmidinger 76ca67473c Fixed cDolbyRepacker to allow recording ProSieben HD broadcasts 2005-03-13 12:05:30 +01:00
Klaus Schmidinger 1594333047 Added missing reset of the 'repacker' to cTS2PES::Clear() 2005-02-13 14:38:08 +01:00
Klaus Schmidinger 28976bf276 Added a missing 'resultSkipped = 0' to cRemux::Clear() 2005-02-13 10:29:27 +01:00
Klaus Schmidinger d1fb8d586d Forcing a new resync after a call to cRemux::Clear() 2005-02-12 10:59:03 +01:00
Klaus Schmidinger ef4ef632d5 Modified cDolbyRepacker to make sure PES packets don't exceed the requested length 2005-02-05 11:59:19 +01:00
Klaus Schmidinger 1743213a1d Recording and Transfer Mode can now handle up to 8 Dolby Digital tracks 2005-01-23 14:10:15 +01:00
Klaus Schmidinger 7276c54baf Extended some buffer sizes to allow handling HDTV streams 2005-01-16 15:30:43 +01:00
Klaus Schmidinger c522225344 Recording and Transfer Mode now handle more than 2 audio PIDs 2005-01-16 14:40:47 +01:00
Klaus Schmidinger 62390837ff Implemented cDolbyRepacker for better handling of Dolby Digital PES packets 2005-01-15 12:09:22 +01:00
Klaus Schmidinger c1b39c523d Fixed setting 'synced' in cRemux when recording radio channels 2004-12-18 13:17:10 +01:00
Klaus Schmidinger 1d8676e85f Fixed cRemux::ScanVideoPacket() to make sure it doesn't access memory beyond the end of the given buffer 2004-11-16 16:57:43 +01:00
Klaus Schmidinger 343df6266e Increased the required free buffer space in the resultBuffer of cRemux 2004-10-24 09:26:23 +02:00
Klaus Schmidinger 5b2784cc4f Fixed a case where the resultBuffer in cRemux ran full before getting a sync 2004-10-23 12:06:13 +02:00
Klaus Schmidinger 6415cc900d Improved buffer handling 2004-10-16 09:36:28 +02:00
Klaus Schmidinger 96055681fc Initiating an emergency exit on too many UPT errors per recording 2004-02-14 10:43:57 +01:00
Klaus Schmidinger c89a686254 Fixed checking for VIDEO_STREAM_S in cRemux::SetBrokenLink() 2003-09-14 10:43:46 +02:00
Klaus Schmidinger b9a8abbe93 Fixed the TS to PES repacker so that it works with MPEG1 streams 2003-08-06 14:52:50 +02:00
Klaus Schmidinger c4b9c58270 Now setting the 'broken link' flag for GOPs at the beginning of a new video sequence 2003-04-26 15:11:17 +02:00
Klaus Schmidinger 54eb58e1eb Added TS error checking to remux.c 2003-01-24 17:22:29 +01:00
Klaus Schmidinger a3d9b92615 Increased the maximum possible packet size to avoid corrupted streams 2003-01-24 14:30:02 +01:00
Klaus Schmidinger ec5795bda2 Reactivated full handling of second audio PID (even in 'Transfer Mode') 2002-10-12 14:29:46 +02:00
Klaus Schmidinger 9a1a16f3d4 Consistently using malloc/free and new/delete 2002-08-11 13:32:23 +02:00
Klaus Schmidinger b9c4cb0ec9 Changed the log error message "can't record MPEG1!" to "error in data stream!" 2002-08-11 10:53:10 +02:00
Klaus Schmidinger d4893ad1fe Improved the [eid]syslog() macros 2002-05-13 16:35:49 +02:00