mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
cDevice::TrickSpeed() now has an additional parameter named Forward
This commit is contained in:
parent
21c8829783
commit
4e22b62192
@ -3225,3 +3225,4 @@ Guido Cordaro <guido.cordaro@tiscali.it>
|
|||||||
Thomas Reufer <thomas@reufer.ch>
|
Thomas Reufer <thomas@reufer.ch>
|
||||||
for making it clear that the Data parameter in cDevice::StillPicture() may point to a
|
for making it clear that the Data parameter in cDevice::StillPicture() may point to a
|
||||||
series of packets, not just a single one
|
series of packets, not just a single one
|
||||||
|
for suggesting to add an additional parameter named Forward to cDevice::TrickSpeed()
|
||||||
|
6
HISTORY
6
HISTORY
@ -8078,3 +8078,9 @@ Video Disk Recorder Revision History
|
|||||||
- Added handling UTF-8 'umlaut' characters to cKbdRemote (thanks to Lars Hanisch).
|
- Added handling UTF-8 'umlaut' characters to cKbdRemote (thanks to Lars Hanisch).
|
||||||
- Made it clear that the Data parameter in cDevice::StillPicture() may point to a
|
- Made it clear that the Data parameter in cDevice::StillPicture() may point to a
|
||||||
series of packets, not just a single one (thanks to Thomas Reufer).
|
series of packets, not just a single one (thanks to Thomas Reufer).
|
||||||
|
- cDevice::TrickSpeed() now has an additional parameter named Forward, which indicates
|
||||||
|
the direction in which replay is being done (suggested by Thomas Reufer). This
|
||||||
|
information may be necessary for some output devices in order to properly implement
|
||||||
|
trick modes. Authors of plugins that implement output devices will need to add this
|
||||||
|
parameter to their derived cDevice class, regardless of whether they will make use
|
||||||
|
of it or not.
|
||||||
|
@ -1877,7 +1877,7 @@ virtual bool SetPlayMode(ePlayMode PlayMode);
|
|||||||
virtual int64_t GetSTC(void);
|
virtual int64_t GetSTC(void);
|
||||||
virtual bool IsPlayingVideo(void) const;
|
virtual bool IsPlayingVideo(void) const;
|
||||||
virtual bool HasIBPTrickSpeed(void);
|
virtual bool HasIBPTrickSpeed(void);
|
||||||
virtual void TrickSpeed(int Speed);
|
virtual void TrickSpeed(int Speed<modified>, bool Forward</modified>);
|
||||||
virtual void Clear(void);
|
virtual void Clear(void);
|
||||||
virtual void Play(void);
|
virtual void Play(void);
|
||||||
virtual void Freeze(void);
|
virtual void Freeze(void);
|
||||||
|
@ -50,3 +50,7 @@ VDR Plugin 'dvbsddevice' Revision History
|
|||||||
|
|
||||||
- Fixed handling the -o option (short form of --outputonly; problem reported by
|
- Fixed handling the -o option (short form of --outputonly; problem reported by
|
||||||
Mario Edelmann).
|
Mario Edelmann).
|
||||||
|
|
||||||
|
2014-01-01: Version 2.1.1
|
||||||
|
|
||||||
|
- cDevice::TrickSpeed() now has an additional parameter named Forward.
|
||||||
|
@ -3,14 +3,14 @@
|
|||||||
*
|
*
|
||||||
* See the README file for copyright information and how to reach the author.
|
* See the README file for copyright information and how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: dvbsddevice.c 3.1 2013/08/22 08:20:18 kls Exp $
|
* $Id: dvbsddevice.c 3.2 2013/12/25 13:27:00 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
#include <vdr/plugin.h>
|
#include <vdr/plugin.h>
|
||||||
#include "dvbsdffdevice.h"
|
#include "dvbsdffdevice.h"
|
||||||
|
|
||||||
static const char *VERSION = "2.0.1";
|
static const char *VERSION = "2.1.1";
|
||||||
static const char *DESCRIPTION = "SD Full Featured DVB device";
|
static const char *DESCRIPTION = "SD Full Featured DVB device";
|
||||||
|
|
||||||
class cPluginDvbsddevice : public cPlugin {
|
class cPluginDvbsddevice : public cPlugin {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* See the README file for copyright information and how to reach the author.
|
* See the README file for copyright information and how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: dvbsdffdevice.c 2.35 2013/02/17 13:16:18 kls Exp $
|
* $Id: dvbsdffdevice.c 3.1 2013/12/25 13:27:00 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbsdffdevice.h"
|
#include "dvbsdffdevice.h"
|
||||||
@ -593,7 +593,7 @@ int64_t cDvbSdFfDevice::GetSTC(void)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cDvbSdFfDevice::TrickSpeed(int Speed)
|
void cDvbSdFfDevice::TrickSpeed(int Speed, bool Forward)
|
||||||
{
|
{
|
||||||
if (fd_video >= 0)
|
if (fd_video >= 0)
|
||||||
CHECK(ioctl(fd_video, VIDEO_SLOWMOTION, Speed));
|
CHECK(ioctl(fd_video, VIDEO_SLOWMOTION, Speed));
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* See the README file for copyright information and how to reach the author.
|
* See the README file for copyright information and how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: dvbsdffdevice.h 2.16 2013/02/17 13:16:29 kls Exp $
|
* $Id: dvbsdffdevice.h 3.1 2013/12/25 13:27:00 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __DVBSDFFDEVICE_H
|
#ifndef __DVBSDFFDEVICE_H
|
||||||
@ -94,7 +94,7 @@ protected:
|
|||||||
virtual int PlayTsAudio(const uchar *Data, int Length);
|
virtual int PlayTsAudio(const uchar *Data, int Length);
|
||||||
public:
|
public:
|
||||||
virtual int64_t GetSTC(void);
|
virtual int64_t GetSTC(void);
|
||||||
virtual void TrickSpeed(int Speed);
|
virtual void TrickSpeed(int Speed, bool Forward);
|
||||||
virtual void Clear(void);
|
virtual void Clear(void);
|
||||||
virtual void Play(void);
|
virtual void Play(void);
|
||||||
virtual void Freeze(void);
|
virtual void Freeze(void);
|
||||||
|
4
device.c
4
device.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: device.c 3.3 2013/08/22 10:28:55 kls Exp $
|
* $Id: device.c 3.4 2013/12/25 13:20:19 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
@ -1121,7 +1121,7 @@ int64_t cDevice::GetSTC(void)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cDevice::TrickSpeed(int Speed)
|
void cDevice::TrickSpeed(int Speed, bool Forward)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
7
device.h
7
device.h
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: device.h 3.4 2013/12/25 13:08:44 kls Exp $
|
* $Id: device.h 3.5 2013/12/25 13:19:58 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __DEVICE_H
|
#ifndef __DEVICE_H
|
||||||
@ -698,10 +698,11 @@ public:
|
|||||||
virtual bool HasIBPTrickSpeed(void) { return false; }
|
virtual bool HasIBPTrickSpeed(void) { return false; }
|
||||||
///< Returns true if this device can handle all frames in 'fast forward'
|
///< Returns true if this device can handle all frames in 'fast forward'
|
||||||
///< trick speeds.
|
///< trick speeds.
|
||||||
virtual void TrickSpeed(int Speed);
|
virtual void TrickSpeed(int Speed, bool Forward);
|
||||||
///< Sets the device into a mode where replay is done slower.
|
///< Sets the device into a mode where replay is done slower.
|
||||||
///< Every single frame shall then be displayed the given number of
|
///< Every single frame shall then be displayed the given number of
|
||||||
///< times.
|
///< times. Forward is true if replay is done in the normal (forward)
|
||||||
|
///< direction, false if it is done reverse.
|
||||||
///< The cDvbPlayer uses the following values for the various speeds:
|
///< The cDvbPlayer uses the following values for the various speeds:
|
||||||
///< 1x 2x 3x
|
///< 1x 2x 3x
|
||||||
///< Fast Forward 6 3 1
|
///< Fast Forward 6 3 1
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: dvbplayer.c 2.35 2013/03/08 13:44:19 kls Exp $
|
* $Id: dvbplayer.c 3.1 2013/12/25 13:24:07 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbplayer.h"
|
#include "dvbplayer.h"
|
||||||
@ -324,7 +324,7 @@ void cDvbPlayer::TrickSpeed(int Increment)
|
|||||||
int sp = (Speeds[nts] > 0) ? Mult / Speeds[nts] : -Speeds[nts] * Mult;
|
int sp = (Speeds[nts] > 0) ? Mult / Speeds[nts] : -Speeds[nts] * Mult;
|
||||||
if (sp > MAX_VIDEO_SLOWMOTION)
|
if (sp > MAX_VIDEO_SLOWMOTION)
|
||||||
sp = MAX_VIDEO_SLOWMOTION;
|
sp = MAX_VIDEO_SLOWMOTION;
|
||||||
DeviceTrickSpeed(sp);
|
DeviceTrickSpeed(sp, playDir == pdForward);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
4
player.h
4
player.h
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: player.h 2.6 2012/04/28 13:04:17 kls Exp $
|
* $Id: player.h 3.1 2013/12/25 13:25:02 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __PLAYER_H
|
#ifndef __PLAYER_H
|
||||||
@ -27,7 +27,7 @@ protected:
|
|||||||
bool DeviceFlush(int TimeoutMs = 0) { return device ? device->Flush(TimeoutMs) : true; }
|
bool DeviceFlush(int TimeoutMs = 0) { return device ? device->Flush(TimeoutMs) : true; }
|
||||||
bool DeviceHasIBPTrickSpeed(void) { return device ? device->HasIBPTrickSpeed() : false; }
|
bool DeviceHasIBPTrickSpeed(void) { return device ? device->HasIBPTrickSpeed() : false; }
|
||||||
bool DeviceIsPlayingVideo(void) { return device ? device->IsPlayingVideo() : false; }
|
bool DeviceIsPlayingVideo(void) { return device ? device->IsPlayingVideo() : false; }
|
||||||
void DeviceTrickSpeed(int Speed) { if (device) device->TrickSpeed(Speed); }
|
void DeviceTrickSpeed(int Speed, bool Forward) { if (device) device->TrickSpeed(Speed, Forward); }
|
||||||
void DeviceClear(void) { if (device) device->Clear(); }
|
void DeviceClear(void) { if (device) device->Clear(); }
|
||||||
void DevicePlay(void) { if (device) device->Play(); }
|
void DevicePlay(void) { if (device) device->Play(); }
|
||||||
void DeviceFreeze(void) { if (device) device->Freeze(); }
|
void DeviceFreeze(void) { if (device) device->Freeze(); }
|
||||||
|
Loading…
Reference in New Issue
Block a user