Commit Graph

294 Commits

Author SHA1 Message Date
Klaus Schmidinger f99b293de4 Added a missing SetVolumeDevice() call in cDevice::SetPrimaryDevice() 2007-10-13 10:34:30 +02:00
Klaus Schmidinger 0c8cda9bd0 Implemented handling DVB subtitles 2007-10-12 14:52:30 +02:00
Klaus Schmidinger ad1e138e5b Fixed checking for ttDolbyLast in cDevice::SetCurrentAudioTrack() 2007-08-26 11:13:10 +02:00
Klaus Schmidinger b532dc8229 Replaced strncpy() and strn0cpy() with Utf8Strn0Cpy() where necessary 2007-06-16 10:41:21 +02:00
Klaus Schmidinger fcbb206fdf Non-primary devices in Transfer mode are now also used for recording 2007-04-30 09:40:34 +02:00
Klaus Schmidinger 7751b6abb0 Added cDevice::HasCi() so that devices with Common Interface can be avoided when tuning to an FTA channel 2007-01-13 12:14:51 +01:00
Klaus Schmidinger 87dd5139ff CAM handling refactored; multiple recordings with one CAM; automatic CAM selection 2007-01-07 14:46:14 +01:00
Klaus Schmidinger 5ff1d35711 Fixed handling relative volume settings that unmute the audio in the call to cStatus::MsgSetVolume() 2006-09-03 11:49:32 +02:00
Klaus Schmidinger c2e2673629 Revoked the change to cDevice::GetDevice() that was introduced in version 1.4.1-2 2006-08-27 08:42:31 +02:00
Klaus Schmidinger 713093670f Changed the way a device is selected for receiving in order to keep devices with CAMs better available 2006-08-12 11:33:34 +02:00
Klaus Schmidinger cdad4a6b4e Fixed cDevice::ToggleMute() 2006-07-29 10:17:35 +02:00
Klaus Schmidinger 92e4e131d0 cDevice::GetDevice() now prefers any device that's already receiving and doesn't require detatching receivers 2006-07-22 14:11:02 +02:00
Klaus Schmidinger 8f3ae72e9d Fixed handling relative volume settings in the call to cStatus::MsgSetVolume() 2006-07-22 13:26:44 +02:00
Klaus Schmidinger 3644347545 Added some comment to cDevice::GetDevice() 2006-06-15 10:00:40 +02:00
Klaus Schmidinger ba0a06bf0d Fixed a typo 2006-05-27 11:14:42 +02:00
Klaus Schmidinger d1617c84ca Modifed the device selection to better handle timer conflicts 2006-05-27 09:43:37 +02:00
Klaus Schmidinger 08fb5e2dbd The preferred audio language is now automatically selected when starting replay 2006-04-14 14:47:01 +02:00
Klaus Schmidinger a6d5d36043 Now avoiding the 'actual' device when starting a recording, so that a Transfer Mode for live tv isn't interrupted 2006-04-09 10:47:53 +02:00
Klaus Schmidinger bfce2b3dba Fixed VPS recording in case there is more than one timer in the VPS margin 2006-04-09 09:12:47 +02:00
Klaus Schmidinger 22b60d9610 The new function cDevice::ForceTransferMode() can be used to force the primary device into transfer mode 2006-03-26 09:46:58 +02:00
Klaus Schmidinger f40a6e9b85 Fixed setting the audio language codes in 'Transfer-Mode' 2006-02-24 14:14:41 +01:00
Klaus Schmidinger d5c739790b Implemented cDevice::Transferring() 2006-02-04 14:58:24 +01:00
Klaus Schmidinger 5fdc421a10 Added an 'Id' parameter to cDevice::PlayAudio() to allow plugins to easier process the audio data 2006-02-04 10:24:43 +01:00
Klaus Schmidinger 2d863532cc Cleaned up some trailing white space 2006-01-08 11:44:37 +01:00
Klaus Schmidinger b464dc407d Added a mutex to synchronize cDevice::PlayPesPacket() and SetCurrentAudioTrack() 2006-01-08 10:13:38 +01:00
Klaus Schmidinger e8ee9a1c4b Adapted c(Dvb)Device::ProvidesCa() to the dynamic CA handling 2006-01-07 15:16:09 +01:00
Klaus Schmidinger e0d5ebf8fd The file 'ca.conf' is obsolete and has been removed; revised all descriptions regarding CICAM 2006-01-07 14:10:17 +01:00
Klaus Schmidinger 16f037e3c2 Any cReceivers still attached to a cDevice when that device switches to a different transponder are now automatically detached 2006-01-06 13:55:57 +01:00
Klaus Schmidinger e87e649991 Fixed a typo 2006-01-06 12:56:44 +01:00
Klaus Schmidinger c65133979f Changed all "illegal" to "invalid" in error messages 2005-12-30 15:43:21 +01:00
Klaus Schmidinger 3f21bf20c5 New option '-g'; fixed security hole CAN-2005-0071 when grabbing to file 2005-12-30 15:11:16 +01:00
Klaus Schmidinger cb428520e6 cDevice::GrabImage() now returns a pointer to the image in memory; cDevice::GrabImageFile() grabs the image to a file 2005-12-29 14:51:59 +01:00
Klaus Schmidinger 3a97be4fe9 Implemented handling of the "CA PMT Reply" for CAMs; some preparations for being able to record several encrypted channels from the same transponder 2005-11-26 13:39:47 +01:00
Klaus Schmidinger 27ab07e80d The EPG scan no longer disturbs players that have also set live PIDs 2005-11-05 15:48:05 +01:00
Klaus Schmidinger e7d98d2ee6 Removed obsolete 'shift' code in device.[hc] 2005-09-17 14:30:18 +02:00
Klaus Schmidinger 1bc5ba817c Changed the audio PID language codes to hold up to two 3 letter codes; automatic audio channel setting for two channel audio 2005-09-04 14:48:39 +02:00
Klaus Schmidinger 2ffcc66af2 Re-introduced the code that waits for a tuner lock in VDR/device.c 2005-09-02 13:55:37 +02:00
Klaus Schmidinger 0c27583ba9 Removed the TUNER_LOCK_TIMEOUT in cDevice::AttachReceiver() since it caused more trouble than it fixed 2005-08-27 09:02:09 +02:00
Klaus Schmidinger 6de23d7d96 Now waiting at startup until all DVB devices are ready 2005-08-21 08:56:49 +02:00
Klaus Schmidinger af54ce4842 Changed cThread Active() vs. Running() 2005-08-14 11:24:57 +02:00
Klaus Schmidinger ccb0add798 Centralized 'thread active' handling 2005-08-13 13:17:24 +02:00
Klaus Schmidinger f41e3f327b Modified cEITScanner::Process() so that it works on systems with only budget cards or a mix of DVB-S, DVB-C or DVB-T cards 2005-06-12 14:09:45 +02:00
Klaus Schmidinger f4c63964a8 A device can now detach all receivers for a given PID 2005-06-05 13:37:37 +02:00
Klaus Schmidinger f2bb5b3474 Now preferring budget cards when selecting a DVB device for recording 2005-05-07 15:12:09 +02:00
Klaus Schmidinger 1c62f19c8c Fixed handling fragments of less than 3 byte in cPesAssembler 2005-05-05 14:59:46 +02:00
Klaus Schmidinger 87209df391 Keeping the track language codes and descriptions in Transfer Mode 2005-02-27 13:58:22 +01:00
Klaus Schmidinger 940d605f2e Revisited 'Fixed calling cStatus::MsgChannelSwitch() in cDevice::SetChannel()' to allow keeping language codes in Trandfer Mode 2005-02-27 13:40:33 +01:00
Klaus Schmidinger 43576a394f Improved automatic audio track selection 2005-02-27 10:36:19 +01:00
Klaus Schmidinger 6ef9ec9ac0 Fixed ensuring there is a current audio track in case there is only one track 2005-02-26 11:46:37 +01:00
Klaus Schmidinger e8bd7c2369 Implemented setup option "DVB/Video display format" 2005-02-20 13:39:49 +01:00
Klaus Schmidinger 51f41252cf Added support for setting the video display mode 2005-02-20 12:01:05 +01:00
Klaus Schmidinger 605cd54280 Fixed calling cStatus::MsgChannelSwitch() in cDevice::SetChannel() 2005-02-19 12:20:53 +01:00
Klaus Schmidinger e972c0464a cAudio::Play() now also gets the 0xC0...0xDF audio 2005-02-13 09:54:51 +01:00
Klaus Schmidinger 78598e1a0a Making sure the first audio packet is not dropped when switching to "pre 1.3.19 Dolby Digital compatibility mode" 2005-02-12 16:32:54 +01:00
Klaus Schmidinger 25c942c0e3 Added 'uchar Id' to cAudio::Play()' 2005-02-12 13:01:24 +01:00
Klaus Schmidinger 74accfb1dc Restricted the "setting audio track" log message to automatic changes during replay 2005-02-08 13:21:34 +01:00
Klaus Schmidinger 8cdd705fb4 Fixed a possible freeze in pause mode in case a device's PlayPesPacket() function permanently returns 0 2005-02-08 11:47:15 +01:00
Klaus Schmidinger d3bd62a5fb Added MPEG1 replay capability to cPesAssembler 2005-02-06 14:22:08 +01:00
Klaus Schmidinger d824e95704 Calling pesAssembler->Reset() in cDevice::AttachPlayer() to avoid problems with residual data in replay and Transfer Mode 2005-02-06 13:49:13 +01:00
Klaus Schmidinger e57611dfd3 Fixed the "pre 1.3.19" compatibility mode for old Dolby Digital recordings 2005-02-06 13:19:19 +01:00
Klaus Schmidinger 20b213201a Making sure the "Mute" and "Volume+/-" keys don't interfere with digital audio 2005-02-06 12:31:36 +01:00
Klaus Schmidinger 506eb479a5 Removed 'flags' from tTrackId 2005-02-06 11:44:56 +01:00
Klaus Schmidinger 1f677366c4 Making sure the current audio track is actually one of the ones available in a recording 2005-02-06 11:33:13 +01:00
Klaus Schmidinger d3181d3d99 Moved the call to SetAudioChannel(0) into cDevice::ClrAvailableTracks() 2005-01-30 14:42:51 +01:00
Klaus Schmidinger a430f64252 Fixed masking SubStreamType in cDevice::PlayPesPacket() 2005-01-30 13:38:06 +01:00
Klaus Schmidinger ac60bd7141 Now setting primaryDevice = NULL before deleting the devices in cDevice::Shutdown() 2005-01-25 18:22:46 +01:00
Klaus Schmidinger 3f7f4ffb89 Fixed DTS detection 2005-01-23 14:15:00 +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 bde66cd4f5 Falling back to 'stereo' when switching channels 2005-01-16 16:10:44 +01:00
Klaus Schmidinger 8c0981583f Fixed a possible race condition in cDevice::Action() and cTSBuffer::Action() 2005-01-16 14:50:33 +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 e60ba0311b Changed 'Recording/Record Dobly Digital' to 'DVB/Use Dolby Digital' and using it for available audio tracks 2005-01-09 12:36:48 +01:00
Klaus Schmidinger f79f81dfd4 Implemented Setup.CurrentDolby 2005-01-08 13:53:30 +01:00
Klaus Schmidinger ec27c329cf Displaying audio track description in channel display 2005-01-08 10:15:30 +01:00
Klaus Schmidinger bbe24e4e62 Fixed a possible race condition in cDevice::Action() 2005-01-06 16:46:18 +01:00
Klaus Schmidinger 05bd062f79 Fixed handling preferred audio language when switching via Channels menu to the same channel 2005-01-06 14:56:08 +01:00
Klaus Schmidinger b387538887 Implemented left/right/stereo selection 2005-01-06 13:50:17 +01:00
Klaus Schmidinger 42ab8c8797 Implemented preferred audio languages 2005-01-05 10:48:22 +01:00
Klaus Schmidinger b62328b8ae Moved setting available tracks to cDevice 2005-01-04 13:19:22 +01:00
Klaus Schmidinger 0b3a801ab4 Implemented audio track menu 2005-01-02 15:11:44 +01:00
Klaus Schmidinger f97b1069c6 Added cDevice::mutexReceiver to avoid a race condition when attaching/detaching receivers from different threads 2004-12-24 15:37:11 +01:00
Klaus Schmidinger c77989ee70 Added support for AC3 replay over the DVB device 2004-12-17 14:55:49 +01:00
Klaus Schmidinger 664df0902e No longer explicitly waiting for a tuner lock when switching channels 2004-10-30 15:10:50 +02:00
Klaus Schmidinger 8ed9becabc Fixed attaching a cPlayer to a cDevice 2004-10-23 10:18:01 +02:00
Klaus Schmidinger eb18d4a5b0 If one PID can't be added, the whole cDevice::AttachReceiver() will now fail 2004-10-17 09:42:36 +02:00
Klaus Schmidinger 7ba6dae69f Made the "Channel not available!" message and mtInfo instead of mtError 2004-10-16 13:51:05 +02:00
Klaus Schmidinger d7482c8fed Avoiding unnecessary section filter start/stops 2004-10-16 13:47:37 +02:00
Klaus Schmidinger 6415cc900d Improved buffer handling 2004-10-16 09:36:28 +02:00
Klaus Schmidinger b1737a8bcb Added cDevice::Flush() 2004-06-19 08:58:14 +02:00
Klaus Schmidinger 1b6a7085a5 Added missing NULL checks when accessing sectionHandler 2004-05-16 12:15:55 +02:00
Klaus Schmidinger 5d99df7b77 Implemented 'skins' and 'themes' 2004-05-16 10:35:36 +02:00
Klaus Schmidinger 327db5aee3 Removed the now obsolete CaCaps stuff 2004-02-08 15:11:07 +01:00
Klaus Schmidinger 7f9d14ee8b The actual transponder data is now taken from the NIT 2004-01-11 15:54:37 +01:00
Klaus Schmidinger 8976ebcec5 Implemented automatic PID switching and channel detection 2004-01-04 12:30:00 +01:00
Klaus Schmidinger 7ff59171e3 Changed section handling; replaced 'libdtv' with 'libsi' 2003-12-22 13:29:24 +01:00
Klaus Schmidinger 85767a5405 Added cDevice::GetSTC() 2003-11-07 14:16:25 +01:00
Klaus Schmidinger e53e43d2b8 The cThread class now accepts a 'Description' parameter 2003-10-18 12:29:08 +02:00
Klaus Schmidinger 26ffdd1c83 Fixed scaling SPU bitmaps in Letterbox mode when playing NTSC material 2003-08-15 13:05:50 +02:00
Klaus Schmidinger 44992533f0 Fixed selecting the device, because sometimes an FTA recording terminated a CA recording 2003-08-02 11:52:29 +02:00
Klaus Schmidinger 60b8357463 Initializing the current channel to '1' 2003-06-08 09:25:07 +02:00
Klaus Schmidinger 4289180a03 Changed the DEFAULTPRIORITY in device.c to -1 2003-05-25 11:02:58 +02:00
Klaus Schmidinger e944312b65 Moved the detection of a broken video data stream from the cDevice into the cRecorder 2003-05-16 13:36:06 +02:00
Klaus Schmidinger 7a0054abbd Implemented cDevice::ActualDevice() 2003-05-11 09:01:51 +02:00
Klaus Schmidinger 3fc00d2211 Restoring the current channel in case a recording has switched the transponder 2003-05-03 13:42:37 +02:00
Klaus Schmidinger 240529710d Fixed setting the PCR-PID in case it is equal to one of the other PIDs 2003-05-02 09:24:31 +02:00
Klaus Schmidinger 00166dac5f If no device with an MPEG decoder can be found at startup, the first device is now used as primary device 2003-04-12 12:20:07 +02:00
Klaus Schmidinger c52b219131 Added some missing cAudio handling calls 2003-03-30 12:42:23 +02:00
Klaus Schmidinger 8d4d7f2b62 Trying harder to find a primary device 2003-03-09 14:10:12 +01:00
Klaus Schmidinger 4e15f6d658 Implemented 'Link Layer' based CAM support 2003-01-06 14:44:27 +01:00
Klaus Schmidinger 9fee2b67ab First step towards a 'unique channel ID' 2002-11-10 15:50:21 +01:00
Klaus Schmidinger 0a517afdf8 Implemented audio plugin interface 2002-11-03 11:53:58 +01:00
Klaus Schmidinger 7233a63680 Fixed the EPG scanner, which broke 'Transfer Mode' as soon as it kicked in 2002-11-01 11:11:20 +01:00
Klaus Schmidinger 41320eca4d Fixed blocking replaying in case an encrypted channel is being recorded on the primary device 2002-10-26 11:51:37 +02:00
Klaus Schmidinger 4247bf58cf Fixed channel switching in case of an active 'Transfer Mode' on the primary device 2002-10-26 10:24:42 +02:00
Klaus Schmidinger 2c311093ba Fixed checking the Ca() status of a cDevice 2002-10-26 09:43:11 +02:00
Klaus Schmidinger 01ad12975c Fixed skipping unavailable channels when zapping downwards 2002-10-20 16:07:56 +02:00
Klaus Schmidinger ab4ceb29a0 Implemented gaps in channel numbering 2002-10-19 15:33:37 +02: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 10a7cf33d6 Added cDevice::DeviceNumber() 2002-10-07 16:21:46 +02:00
Klaus Schmidinger b2b46e3630 Improved skipping channels that are (currently) not available (cont'd, fix, Transfer Mode blocked channels) 2002-10-06 13:49:38 +02:00
Klaus Schmidinger 34af5c0e05 Improved skipping channels that are (currently) not available 2002-10-06 11:34:02 +02:00
Klaus Schmidinger 962596f4ab Modified channel handling; full DiSEqC support 2002-10-06 10:25:42 +02:00
Klaus Schmidinger fc66860847 Made remote controls plugin aware 2002-09-29 13:40:45 +02:00
Klaus Schmidinger 3a3d4c2a5a Only calling cStatus::MsgChannelSwitch() for actual switching 2002-09-15 11:52:43 +02:00
Klaus Schmidinger ec8748a2cc A previous 'Transfer Mode' is now automatically re-started after a replay stops 2002-09-15 11:08:35 +02:00
Klaus Schmidinger 9133fdcf63 Implemented an SPU decoder 2002-09-08 14:17:51 +02:00
Klaus Schmidinger 1b396902e4 Skipping unavailable channels when switching with 'Up' and 'Down' keys 2002-09-08 11:46:53 +02:00
Klaus Schmidinger f47655ef0f GetDevice() now prefers devices that are already receiving 2002-09-08 09:36:16 +02:00
Klaus Schmidinger c792c55297 Implemented cTSBuffer 2002-09-08 09:03:10 +02:00
Klaus Schmidinger f24f820e7d Changed NeedsSwitchChannel to NeedsDetachReceivers 2002-09-06 14:10:17 +02:00
Klaus Schmidinger 3e58bc64fe Implemented recording and replaying with a single DVB card 2002-09-04 17:26:02 +02:00
Klaus Schmidinger c6ed4da7a0 Added cDevice::NewOsd() to allow a derived cDevice class to implement its own OSD capabilities 2002-08-25 09:36:09 +02:00
Klaus Schmidinger fd682083a4 Now running even w/o DVB devices, provided at least one device is implemented by a plugin 2002-08-16 09:57:10 +02:00
Klaus Schmidinger 470415ad23 Using cPoller instead of NeedsData 2002-08-16 09:22:29 +02:00
Klaus Schmidinger c0ef9a35e2 Implemented several replay modes to allow players that play only audio 2002-08-15 11:16:34 +02:00
Klaus Schmidinger d4ab35d1d9 Implemented cDevice::NeedsData() 2002-08-15 10:13:03 +02:00
Klaus Schmidinger d987c94909 Fixed recognizing 'Receiving()' 2002-08-04 15:18:05 +02:00
Klaus Schmidinger 15cc1733e0 Changed the cDevice class to allow plugins to implement their own devices 2002-08-04 14:57:29 +02:00
Klaus Schmidinger a4246cfd9a Fixed PID handling for cReceiver 2002-07-28 11:29:32 +02:00
Klaus Schmidinger 26981fd7b1 Switched handling 'Transfer Mode' to the new cPlayer/cControl structures 2002-06-23 12:59:58 +02:00
Klaus Schmidinger cd030554e5 Switched VDR's own player to the new cPlayer/cControl structures 2002-06-23 11:23:34 +02:00
Klaus Schmidinger 359e90b8a7 Activated transfer mode 2002-06-22 13:45:53 +02:00
Klaus Schmidinger 3ab746babd Changed 'cStatusMonitor' to 'cStatus' 2002-06-16 13:26:00 +02:00
Klaus Schmidinger a4bfddd2f9 Totally rearranged device/player/recorder structures 2002-06-16 12:57:31 +02:00