mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Original announce message: VDR developer version 1.7.24 is now available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.24.tar.bz2 A 'diff' against the previous version is available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.23-1.7.24.diff MD5 checksums: a034c5e399417dfc583483f650d003ee vdr-1.7.24.tar.bz2 aa1a2b202da92e65945ff39470b26618 vdr-1.7.23-1.7.24.diff WARNING: ======== This is a developer version. Even though I use it in my productive environment. I strongly recommend that you only use it under controlled conditions and for testing and debugging. From the HISTORY file: - Updated the Italian OSD texts (thanks to Diego Pierotto). - Fixed a high load in case a transponder can't be received. - Improved the way DVB_API_VERSION is checked. - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Fixed asserting there is a live programme if the primary device is bonded with a device that starts a recording on a different band. - Fixed the return type of cMyDeviceHook::DeviceProvidesTransponder() in PLUGINS.html. - Fixed a crash in a plugin using cDeviceHook when VDR ends (reported by Oliver Endriss). - Some improvements to the Makefiles (thanks to Christian Ruppert). - Fixed cRecording::LengthInSeconds(), which wrongfully rounded the result to full minutes (thanks to Christoph Haubrich). - Symbolic links are no longer resolved in cRecordings::ScanVideoDir() (thanks to Sundararaj Reel). - The epg.data file is now read in a separate thread to make the startup process faster in case the file is very large (suggested by Helmut Auer). - Fixed selecting the primary device for receiving the live viewing channel in case it is bonded with an other device and has no receiver attached to it. - Fixed a possible crash when canceling VDR while displaying subtitles, and the primary device is no longer available. - Improved handling subtitles of BBC channels. - No longer using tabs as delimiter in the EPG bugfix log (they were garbled in the log file). - Added a missing '.' after the month in VPS strings. - Added some missing 'const' to cDevice (thanks to Joachim Wilke). - Fixed handling the PrimaryLimit when requesting a device for live viewing (reported by Uwe Scheffler). - Removed superfluous calls to SetVideoFormat() from device constructors. This function is called in cDevice::SetPrimaryDevice(), anyway. - An ongoing editing process is now canceled if either the original or the edited version of the recording is deleted from the Recordings menu. - The SVDRP command DELR now won't delete a recording that is currently being edited. - Removed code stub for obsolete SVDRP command MOVT. - The DVB device adapters/frontends are now probed by scanning the /dev/dvb directory instead of looping through adapter/frontend numbers. This allows for "holes" in the device numbering. - cReadDir::Next() now skips directory entries "." and "..". - Fixed a possible deadlock in time shift mode. - Fixed switching into time shift mode when pausing live video (thanks to Reinhard Nissl for helping to debug this one).
63 lines
2.4 KiB
C++
63 lines
2.4 KiB
C++
/*
|
|
* dvbplayer.h: The DVB player
|
|
*
|
|
* See the main source file 'vdr.c' for copyright information and
|
|
* how to reach the author.
|
|
*
|
|
* $Id: dvbplayer.h 2.1 2012/02/19 11:40:36 kls Exp $
|
|
*/
|
|
|
|
#ifndef __DVBPLAYER_H
|
|
#define __DVBPLAYER_H
|
|
|
|
#include "player.h"
|
|
#include "thread.h"
|
|
|
|
class cDvbPlayer;
|
|
|
|
class cDvbPlayerControl : public cControl {
|
|
private:
|
|
cDvbPlayer *player;
|
|
public:
|
|
cDvbPlayerControl(const char *FileName, bool PauseLive = false);
|
|
// Sets up a player for the given file.
|
|
// If PauseLive is true, special care is taken to make sure the index
|
|
// file of the recording is long enough to allow the player to display
|
|
// the first frame in still picture mode.
|
|
virtual ~cDvbPlayerControl();
|
|
bool Active(void);
|
|
void Stop(void);
|
|
// Stops the current replay session (if any).
|
|
void Pause(void);
|
|
// Pauses the current replay session, or resumes a paused session.
|
|
void Play(void);
|
|
// Resumes normal replay mode.
|
|
void Forward(void);
|
|
// Runs the current replay session forward at a higher speed.
|
|
void Backward(void);
|
|
// Runs the current replay session backwards at a higher speed.
|
|
int SkipFrames(int Frames);
|
|
// Returns the new index into the current replay session after skipping
|
|
// the given number of frames (no actual repositioning is done!).
|
|
// The sign of 'Frames' determines the direction in which to skip.
|
|
void SkipSeconds(int Seconds);
|
|
// Skips the given number of seconds in the current replay session.
|
|
// The sign of 'Seconds' determines the direction in which to skip.
|
|
// Use a very large negative value to go all the way back to the
|
|
// beginning of the recording.
|
|
bool GetIndex(int &Current, int &Total, bool SnapToIFrame = false);
|
|
// Returns the current and total frame index, optionally snapped to the
|
|
// nearest I-frame.
|
|
bool GetReplayMode(bool &Play, bool &Forward, int &Speed);
|
|
// Returns the current replay mode (if applicable).
|
|
// 'Play' tells whether we are playing or pausing, 'Forward' tells whether
|
|
// we are going forward or backward and 'Speed' is -1 if this is normal
|
|
// play/pause mode, 0 if it is single speed fast/slow forward/back mode
|
|
// and >0 if this is multi speed mode.
|
|
void Goto(int Index, bool Still = false);
|
|
// Positions to the given index and displays that frame as a still picture
|
|
// if Still is true.
|
|
};
|
|
|
|
#endif //__DVBPLAYER_H
|