Commit Graph

332 Commits

Author SHA1 Message Date
Klaus Schmidinger f98ae169e1 Fixed regenerating the index in case the recording spans over several files (was a side effect of the new frame detection) 2012-11-04 15:27:44 +01:00
Klaus Schmidinger b19e6d071f Fixed shifting editing marks towards the next I-frame in case of PES recordings 2012-11-03 11:25:13 +01:00
Klaus Schmidinger 57a3169013 Improved frame detection by parsing just far enough into the MPEG-4 NAL units to get the necessary information about frames and slices; the initial syncing of the frame detector is now done immediately after the first complete GOP has been seen 2012-11-02 14:35:57 +01:00
Klaus Schmidinger 15bb8ca60d If a frame position in the 'marks' file of a recording doesn't point to an I-frame, it will now be shifted towards the next I-frame 2012-10-15 11:23:59 +02:00
Klaus Schmidinger 1e9b16d20b The cThread constructor now has an additional boolean parameter that can be set to true to have this thread run at a lower priority 2012-10-04 12:32:31 +02:00
Klaus Schmidinger 5a407d0e68 cIoThrottle::Engaged() is now also checked in cRemoveDeletedRecordingsThread::Action() 2012-10-03 12:58:02 +02:00
Klaus Schmidinger f1000d75c0 Added 'IgnoreFiles' to RemoveEmptyDirectories() 2012-09-30 13:05:14 +02:00
Klaus Schmidinger 62dee6514a Fixed sorting folders before recordings in case of UTF-8 2012-09-29 10:05:49 +02:00
Klaus Schmidinger e6526ae269 The script given to VDR with the '-r' option is now also called whenever a recording is deleted 2012-09-17 09:03:01 +02:00
Klaus Schmidinger cc16e9fdc7 If regenerating an index file fails and no data is written to the file, VDR now reports this error and removes the empty index file 2012-09-13 11:18:53 +02:00
Klaus Schmidinger 2ceb19e566 Fixed getting the file size and number of frames of ongoing recordings 2012-09-06 10:07:25 +02:00
Klaus Schmidinger f7a1954fe3 Fixed a long delay at the end when replaying a recording that has stopped recording less than an hour ago 2012-09-05 14:16:52 +02:00
Klaus Schmidinger f4aabad2ae Fixed sorting recordings in the top level video directory 2012-07-15 10:52:16 +02:00
Klaus Schmidinger 440c119b0a Implemented sort mode for recordings 2012-06-09 14:32:29 +02:00
Klaus Schmidinger 3efb79c855 Speeded up opening menus on systems with many (several thousands) of recordings, by caching the information whether a recording is stored on the video directory file system within the cRecording data 2012-06-03 10:03:55 +02:00
Klaus Schmidinger 78e11d8c6f Extended the interface to the script that gets called for recordings, so that in the "edited" case it also provides the name of the original recording 2012-06-02 13:57:41 +02:00
Klaus Schmidinger cdaf99121b If a recording has no info file, the 'title' of the recording's info is now set to the recording's name 2012-05-20 13:55:34 +02:00
Klaus Schmidinger 71f02e4f80 When estimating the remaining disk space (in hours), the average data rate of all existing recordings is now taken into account 2012-03-13 13:22:06 +01:00
Klaus Schmidinger ed10aaf68b Improved fast forwarding to the end of a timeshift recording 2012-03-12 14:53:59 +01:00
Klaus Schmidinger cd0f403bbc Added some typecasts to silence gcc compiler warnings 2012-02-26 14:02:17 +01:00
Klaus Schmidinger 23ec57d822 Fixed switching into time shift mode when pausing live video 2012-02-19 11:50:20 +01:00
Klaus Schmidinger 882691e32f cReadDir::Next() now skips directory entries "." and ".." 2012-02-17 14:02:13 +01:00
Klaus Schmidinger 26d2fe51d1 An ongoing editing process is now canceled if either the original or the edited version of the recording is deleted from the Recordings menu 2012-02-16 12:20:46 +01:00
Klaus Schmidinger adc88b3790 Reactivated "Fixed handling symbolic links in cRecordings::ScanVideoDir()" 2012-02-13 11:49:43 +01:00
Klaus Schmidinger b3891d8319 Symbolic links are no longer resolved in cRecordings::ScanVideoDir() 2012-01-26 10:04:01 +01:00
Klaus Schmidinger 9e7a2134b4 Fixed cRecording::LengthInSeconds(), which wrongfully rounded the result to full minutes 2012-01-25 09:34:24 +01:00
Klaus Schmidinger 98a443cc61 Revoked "Fixed handling symbolic links in cRecordings::ScanVideoDir()" 2012-01-16 12:09:38 +01:00
Klaus Schmidinger c36c65416e Fixed wrongfully displaying the length of a recording in the title of the replay progress display 2012-01-15 11:12:58 +01:00
Klaus Schmidinger 262f20eaa0 Changed IndexToHMSF() so that it can handle negative Index values 2012-01-14 13:00:47 +01:00
Klaus Schmidinger 4dd52ffe39 Fixed a memory leak in cRecordings::ScanVideoDir() in case there are too many link levels 2011-12-10 14:29:38 +01:00
Klaus Schmidinger 773c4419ea Fixed handling symbolic links in cRecordings::ScanVideoDir() 2011-12-10 14:14:58 +01:00
Klaus Schmidinger abb95de8a9 Implemented the SVDRP command UPDR 2011-12-04 13:58:33 +01:00
Klaus Schmidinger 96061c5b40 Revoked the changes to cFrameDetector that have been introduced in version 1.7.19 2011-09-04 10:13:14 +02:00
Klaus Schmidinger 6700e772e5 The Recordings menu now displays the length (in hours:minutes) of each recording 2011-08-27 11:14:54 +02:00
Klaus Schmidinger dac837d38d Implemented cRecording::NumFrames() and cRecording::LengthInSeconds() 2011-08-21 13:47:07 +02:00
Klaus Schmidinger 97ad2fa95d Direct access to several class members is now deprecated 2011-08-21 11:34:30 +02:00
Klaus Schmidinger e5d2240bbb The start time of an edited recording is now set to the time of the first editing mark 2011-08-20 10:09:05 +02:00
Klaus Schmidinger 3000906715 The length (as number of frames) of a recording's index file can now be determined by a call to cIndexFile::GetLength() 2011-08-13 12:45:42 +02:00
Klaus Schmidinger ef611229f3 Implemented static cIndexFile::IndexFileName() 2011-08-13 11:16:41 +02:00
Klaus Schmidinger 72d342ce02 Fixed detecting frames in case the Picture Start Code or Access Unit Delimiter extends over TS packet boundaries (cont'd) 2011-06-12 14:06:11 +02:00
Klaus Schmidinger c670c0645f Avoiding an unecessary call to Recordings.ResetResume() 2011-04-17 13:58:29 +02:00
Klaus Schmidinger 5138ccc1ce Added a patch from Udo Richter 2011-04-17 13:22:44 +02:00
Klaus Schmidinger 4ed9d95394 Replaced "%lld" and "%llX" print format specifiers with "PRId64" and "PRIX64" 2011-03-27 15:12:20 +02:00
Klaus Schmidinger 31d4abab37 Made updating the editing marks during replay react faster in case the marks file has just been written 2011-03-20 11:46:58 +01:00
Klaus Schmidinger 61c6b36bbc While replaying, the editing marks are now updated every 10 seconds 2011-02-27 13:40:43 +01:00
Klaus Schmidinger d1ab9dbc5f Now checking the result of all realloc() calls 2011-02-25 15:25:42 +01:00
Klaus Schmidinger 9f60bd2fc4 Now updating the 'frames per second' data in the list of recordings when a new recording is started that has a frame rate other than the default 2010-12-27 12:25:19 +01:00
Klaus Schmidinger 42928ff2d3 The full timer file name is now displayed if it ends with "TITLE" or "EPISODE" 2010-03-07 14:15:04 +01:00
Klaus Schmidinger a503c6ab3f The "Edit timer" menu can now set the folder for the recording from a list of folders stored in "folders.conf" 2010-01-17 12:08:03 +01:00
Klaus Schmidinger b5edaaa7cc Implemented --edit and --genindex options 2010-01-02 14:02:48 +01:00
Klaus Schmidinger 6a208294be Several code modifications to avoid compiler warnings 2009-12-06 12:57:45 +01:00
Klaus Schmidinger a5e9da1de3 Fixed resetting the file size when regenerating the index file 2009-11-22 19:55:45 +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 a397b8a512 Fixed cRecordings::DelByName() to avoid compilation errors with gcc 4.4 2009-08-16 10:42:05 +02:00
Klaus Schmidinger 884d10fbf6 Fixed variable types in cIndexFile 2009-06-13 13:35:49 +02:00
Klaus Schmidinger e392051752 Fixed index types in cIndexFile::GetNextIFrame() 2009-06-13 12:25:22 +02:00
Klaus Schmidinger 1d03f30e93 Added some missing 'const' keywords to avoid compilation errors with gcc 4.4 2009-06-06 13:48:41 +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 5b57bdebdc Added cThread::SetIOPriority() and using it in cRemoveDeletedRecordingsThread 2009-04-13 13:55:23 +02:00
Klaus Schmidinger 7f314c07b6 Reverted back to previous version of RemoveDeletedRecordings(), because the thread was started every minute 2009-04-13 12:29:10 +02:00
Klaus Schmidinger 1d829aaf6d No longer checking for deleted recordings to be removed from the foreground thread 2009-04-12 14:20:52 +02:00
Klaus Schmidinger 9a7473eaf3 Fixed handling the 'new' indicator in the recordings menu for TS recordings 2009-01-30 16:48:40 +01:00
Klaus Schmidinger c5553f9187 Fixed editing PES recordings 2009-01-24 13:16:43 +01:00
Klaus Schmidinger fa848a6f2e Added an 'int' typecast to calculations involving FramesPerSecond() to avoid compiler warnings 2009-01-24 11:42:24 +01:00
Klaus Schmidinger 3434f061b3 Implemented option '-i' 2009-01-18 11:10:29 +01:00
Klaus Schmidinger c7ce1c37e3 Fixed removing deleted recordings in case there is a problem 2009-01-16 15:59:47 +01:00
Klaus Schmidinger 7de7ede26f The recording format is now Transport Stream 2009-01-06 14:41:11 +01:00
Klaus Schmidinger 2ee1e61d35 Fixed formatting 2008-05-22 10:40:08 +02:00
Klaus Schmidinger 0b1886875a Removed the compile time option VFAT 2008-05-03 10:19:31 +02:00
Klaus Schmidinger 7d1b84a997 Implemented handling the standard component descriptor for AC3 2008-05-01 15:41:04 +02:00
Klaus Schmidinger ce7b0c94f7 Added the backslash ('\') to the list of characters that need to be escaped when executing external commands 2008-02-24 10:30:49 +01:00
Klaus Schmidinger 741400fa66 Fixed handling recordings on other file systems than the video directory 2008-02-16 13:38:22 +01:00
Klaus Schmidinger 6bef17cdec When deleting the recording that is currently replayed, the replay is now stopped immediately 2008-02-15 16:13:10 +01:00
Klaus Schmidinger 9495aa9923 Using cString::sprintf() instead of asprintf() 2008-02-15 14:57:48 +01:00
Klaus Schmidinger 5a44b8b801 Running the thread that removes deleted recordings at a low priority 2008-02-10 12:52:14 +01:00
Klaus Schmidinger c568200d2e Fixed decoding filename characters in case there are not two hex digits after the '#' 2007-11-04 11:24:07 +01:00
Klaus Schmidinger 7780e3664a Added cRecording::Undelete() 2007-10-14 10:23:19 +02:00
Klaus Schmidinger 0c8cda9bd0 Implemented handling DVB subtitles 2007-10-12 14:52:30 +02:00
Klaus Schmidinger da376c0603 The info.vdr file now also stores the name of the channel 2007-06-17 13:13:47 +02:00
Klaus Schmidinger b532dc8229 Replaced strncpy() and strn0cpy() with Utf8Strn0Cpy() where necessary 2007-06-16 10:41:21 +02:00
Klaus Schmidinger 4011e244ff Modified handling invalid characters in VFAT mode 2007-06-16 08:59:39 +02:00
Klaus Schmidinger 09c6bced8d Fixed handling video directory updates in case an other process has touched the .update file after the last NeedsUpdate() check 2006-10-07 12:50:24 +02:00
Klaus Schmidinger 2d29eb90fe Fixed handling video directory updates in case the timestamp of the .update file is in the future 2006-09-16 12:14:06 +02:00
Klaus Schmidinger ae4633feb0 Now invalidating /video cache _after_ cutting 2006-07-30 10:29:24 +02:00
Klaus Schmidinger 7367b6a832 Fixed a memory leak in closing the video file during replay 2006-04-29 13:23:15 +02:00
Klaus Schmidinger 33397874da Fixed a format string in recording.c to avoid a compiler warning on 64bit systems 2006-04-23 11:23:17 +02:00
Klaus Schmidinger 915af4efff Some comment cleanups 2006-04-17 11:00:00 +02:00
Klaus Schmidinger 8c6deb20f2 No longer using characters 0x01 and 0x02 for mapping single quote and slash in recording names 2006-04-16 12:55:28 +02:00
Klaus Schmidinger a452010760 Changed the behaviour when hitting the end of a recording in fast forward mode 2006-04-09 13:57:39 +02:00
Klaus Schmidinger 1fe46dfa9f Fixed format string handling 2006-03-26 09:27:30 +02:00
Klaus Schmidinger 7bba79ef0a Fixed deleting recordings that have been removed externally when running out of disk space 2006-03-19 14:36:43 +01:00
Klaus Schmidinger cf1941ca01 Only calling RemoveEmptyVideoDirectories() once in case a recording has been deleted 2006-03-19 14:12:57 +01:00
Klaus Schmidinger 168348e7e4 Lines tagged with '#' in the 'info.vdr' file of a recording are now silently ignored when reading that file 2006-02-26 12:03:28 +01:00
Klaus Schmidinger 450c7ef1af Parsing 'E' record when reading 'info.vdr' 2006-02-25 17:05:48 +01:00
Klaus Schmidinger bc2e59909f The 'summary' field of a timer definition has been renamed to 'aux' 2006-02-25 12:09:22 +01:00
Klaus Schmidinger 47519e0536 If a recording starts and the channel's audio PID data has more language code information than the EPG's component data, the code from the channel is taken 2006-02-19 13:27:51 +01:00
Klaus Schmidinger 91a5940bc4 Generating 'X' audio component records for recording if there is no EPG data 2006-02-18 16:03:40 +01:00
Klaus Schmidinger 23d7402c00 Now stopping scanning the video directory if there are too many levels of symbolic links 2006-02-12 11:46:44 +01:00
Klaus Schmidinger 0de4b0b043 Fixed multiple entries of the same subdirectory in the "Recordings" menu 2006-02-05 12:39:37 +01:00
Klaus Schmidinger 611656bf46 Added AssertFreeDiskSpace() before starting a timer recording 2006-01-20 17:19:46 +01:00
Klaus Schmidinger 2d863532cc Cleaned up some trailing white space 2006-01-08 11:44:37 +01:00
Klaus Schmidinger f00372190d Changed DELETEDLIFETIME to 300 2006-01-03 11:39:48 +01:00
Klaus Schmidinger fbddcb2fd6 Removing deleted recordings is now done in a separate thread 2005-12-28 12:21:57 +01:00
Klaus Schmidinger 60d56fceb9 Fixed a crash in removing recordings 2005-12-18 13:38:30 +01:00
Klaus Schmidinger 587ea30ab4 Added a mutex to AssertFreeDiskSpace() to make sure calls from foreground and background threads won't interfere 2005-12-18 13:10:52 +01:00
Klaus Schmidinger df13d22c6c Fixed a possible crash when displaying the "Low disk space!" message from a background thread 2005-12-18 12:43:17 +01:00
Klaus Schmidinger 78990eb188 Now avoiding unnecessary disk access when checking if there are deleted recordings that need to be removed; fixed handling the DELETEDLIFETIME 2005-12-18 12:14:11 +01:00
Klaus Schmidinger 579719a7f2 When displaying the amount of free disk space, the space consumed by "deleted" recordings is now taken into account 2005-12-18 10:41:26 +01:00
Klaus Schmidinger 52f17c043b Removed '\n' from several syslog() calls 2005-11-04 14:22:04 +01:00
Klaus Schmidinger 23ee5bb4da Fixed a NULL pointer access with the cUnbufferedFile when a replay session runs all the way until the end of the recording 2005-11-04 13:19:49 +01:00
Klaus Schmidinger 697261c981 The new class cUnbufferedFile is used for the recording files to avoid thrashing the file system cache 2005-10-31 13:14:26 +01:00
Klaus Schmidinger 53e840af50 Added more error messages and line numbers when reading EPG data and info.vdr 2005-10-09 13:13:36 +02:00
Klaus Schmidinger 13f68c4787 Fixed handling the '.update' file in case the video directory is not at the default location 2005-10-01 10:33:38 +02:00
Klaus Schmidinger 8ae565d885 Made the function ExchangeChars() public 2005-09-25 14:31:23 +02:00
Klaus Schmidinger c3a76dfef6 The '.update' file in the video directory is now touched when a recording is added or deleted 2005-09-25 13:49:31 +02:00
Klaus Schmidinger f2183f9ff5 Added missing lock and state change 2005-09-25 12:28:40 +02:00
Klaus Schmidinger da501a4b82 The 'new' indicator in the Recordings menu is now kept up-to-date 2005-09-25 11:35:56 +02:00
Klaus Schmidinger 9e8aac3882 The list of recordings is now read in a separate thread 2005-09-25 11:00:57 +02:00
Klaus Schmidinger 5147d8abbc Fixed converting arbitrarily formatted summary.vdr files 2005-09-17 09:20:31 +02:00
Klaus Schmidinger 1c9d172bc9 Fixed converting summary.vdr files that would result in a very long 'short text' 2005-09-10 12:46:01 +02:00
Klaus Schmidinger 06117cbaab Implemented option '--vfat'; replaced ':' with '.' in recording names 2005-09-03 13:35:55 +02:00
Klaus Schmidinger 8fe90254f6 Now storing the channel id in the info.vdr file even if there is no EPG info available 2005-08-13 14:39:34 +02:00
Klaus Schmidinger bc22ed879c Files and directories are now created with rights according to the shell's umask settings 2005-08-06 09:56:08 +02:00
Klaus Schmidinger c1055a6c8f Added the year (two digits) to recording dates in LSTR, and thus also in menus 2005-06-05 14:23:23 +02:00
Klaus Schmidinger eecf0b6616 Fixed handling 'summary.vdr' files with more than two empty lines 2005-06-04 11:33:09 +02:00
Klaus Schmidinger ca66d29798 Fixed listing recordings with empty episode names in the LSTR command 2005-05-29 11:22:39 +02:00
Klaus Schmidinger 7701acd968 Now using hash tables to speed up cSchedule::GetEvent() 2005-05-28 13:17:20 +02:00
Klaus Schmidinger b4cbb84489 cEvent no longer stores the channelID directly, but rather has a pointer to the schedule it is in 2005-05-28 10:09:06 +02:00
Klaus Schmidinger 7114258ebd cRecordingInfo stores channelID itself (preparation for change in cEvent) 2005-05-28 09:53:54 +02:00
Klaus Schmidinger a05590796a Fixed a possible hangup when ending a replay session while cIndexFile::CatchUp() is waiting 2005-05-22 11:29:19 +02:00
Klaus Schmidinger 2d3702b850 Fall back to 'summary.vdr' if there is no 'info.vdr' 2005-05-22 10:43:10 +02:00
Klaus Schmidinger a0e6585304 Fixed setting timer's summary for recording 2005-05-22 09:13:26 +02:00
Klaus Schmidinger ed52b359bb Avoiding extra blanks at the end of names of instant recordings 2005-05-16 15:19:54 +02:00
Klaus Schmidinger b0583e5373 Switched from 'summary.vdr' to 'info.vdr' 2005-05-16 14:45:11 +02:00
Klaus Schmidinger 1f246351b1 Recordings now avoid zero sized video data files 2005-05-07 15:29:23 +02:00
Klaus Schmidinger 6ca56047ae Fixed handling lifetime when deciding whether to delete a recording 2005-05-06 14:00:45 +02:00
Klaus Schmidinger 5b4507da05 Fixed handling symbolic links in cRecordings::ScanVideoDir() 2005-02-12 10:19:03 +01:00
Klaus Schmidinger c4292b81b8 Fixed several memory leaks that were introduced through the use of cString 2005-02-06 09:48:08 +01:00
Klaus Schmidinger 286af66cfb Made several functions threadsafe (cont'd) 2004-12-26 12:45:22 +01:00
Klaus Schmidinger 1d3495a0f0 Made several functions threadsafe 2004-12-19 16:33:34 +01:00
Klaus Schmidinger 6a70d31734 Fixed the buffer size in cRecording::SortName() 2004-11-01 14:05:16 +01:00
Klaus Schmidinger 0b62aff0e3 Now using qsort() to sort cListBase lists 2004-11-01 10:40:38 +01:00
Klaus Schmidinger 5e731865a6 Making sure that timers and channels are only saved together 2004-10-31 10:22:32 +01:00
Klaus Schmidinger c99e16ec41 Removed all error messages from cRecordings::ScanVideoDir() 2004-07-17 11:22:29 +02:00
Klaus Schmidinger 5ed57fa1c5 The list of recordings is now kept statically in memory 2004-06-13 20:26:51 +02:00
Klaus Schmidinger 5d99df7b77 Implemented 'skins' and 'themes' 2004-05-16 10:35:36 +02:00
Klaus Schmidinger 8b96cd93b9 Fixed getting the list of recordings in case VDR is started from a directory where it doesn't have access to 2003-11-08 15:46:29 +01:00
Klaus Schmidinger c23a93f302 Fixed handling comments in editing marks 2003-10-24 15:49:30 +02:00
Klaus Schmidinger 8de5fbcbe1 Edited recordings will now never be deleted automatically if the disk runs full 2003-10-17 14:40:37 +02:00
Klaus Schmidinger 19efbe4503 Fixed dropping out of replay mode while viewing a recording that is still going on 2003-09-09 16:09:05 +02:00