mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
When pausing live video, the current audio and subtitle tracks are now retained
This commit is contained in:
parent
250419d2c9
commit
45f660e358
3
HISTORY
3
HISTORY
@ -7534,7 +7534,7 @@ Video Disk Recorder Revision History
|
||||
- Reduced the number of retries in cTransfer::Receive() to avoid blocking recordings
|
||||
in case the primary device can't handle the current live signal.
|
||||
|
||||
2013-01-30: Version 1.7.37
|
||||
2013-02-01: Version 1.7.37
|
||||
|
||||
- Now also using FindHeader() in cMpeg2Fixer::AdjTref() (pointed out by Sören Moch).
|
||||
- Added missing template for DVBDIR to Make.config.template (reported by Derek Kelly).
|
||||
@ -7558,3 +7558,4 @@ Video Disk Recorder Revision History
|
||||
switched (reported by Uwe Scheffler).
|
||||
- Updated the Slovakian language texts (thanks to Milan Hrala).
|
||||
- Improved LIRC timing for repeat function.
|
||||
- When pausing live video, the current audio and subtitle tracks are now retained.
|
||||
|
@ -282,6 +282,7 @@ Time Shifting:
|
||||
deleted.
|
||||
- The setup parameter "Recording/Instant rec. time (min)" can now be set to '0',
|
||||
which means to record only the currently running event.
|
||||
- When pausing live video, the current audio and subtitle tracks are now retained.
|
||||
|
||||
Timers:
|
||||
|
||||
|
6
config.h
6
config.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: config.h 2.61 2013/01/22 17:08:50 kls Exp $
|
||||
* $Id: config.h 2.62 2013/02/01 12:00:35 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
@ -27,8 +27,8 @@
|
||||
|
||||
// The plugin API's version number:
|
||||
|
||||
#define APIVERSION "1.7.36"
|
||||
#define APIVERSNUM 10736 // Version * 10000 + Major * 100 + Minor
|
||||
#define APIVERSION "1.7.37"
|
||||
#define APIVERSNUM 10737 // Version * 10000 + Major * 100 + Minor
|
||||
|
||||
// When loading plugins, VDR searches them by their APIVERSION, which
|
||||
// may be smaller than VDRVERSION in case there have been no changes to
|
||||
|
9
device.c
9
device.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: device.c 2.70 2012/11/19 09:59:09 kls Exp $
|
||||
* $Id: device.c 2.71 2013/02/01 12:00:09 kls Exp $
|
||||
*/
|
||||
|
||||
#include "device.h"
|
||||
@ -98,6 +98,7 @@ cDevice::cDevice(void)
|
||||
currentAudioTrack = ttNone;
|
||||
currentAudioTrackMissingCount = 0;
|
||||
currentSubtitleTrack = ttNone;
|
||||
keepTracks = false;
|
||||
liveSubtitle = NULL;
|
||||
dvbSubtitleConverter = NULL;
|
||||
autoSelectPreferredSubtitleLanguage = true;
|
||||
@ -923,6 +924,8 @@ void cDevice::SetVolume(int Volume, bool Absolute)
|
||||
|
||||
void cDevice::ClrAvailableTracks(bool DescriptionsOnly, bool IdsOnly)
|
||||
{
|
||||
if (keepTracks)
|
||||
return;
|
||||
if (DescriptionsOnly) {
|
||||
for (int i = ttNone; i < ttMaxTrackTypes; i++)
|
||||
*availableTracks[i].description = 0;
|
||||
@ -1044,6 +1047,8 @@ bool cDevice::SetCurrentSubtitleTrack(eTrackType Type, bool Manual)
|
||||
|
||||
void cDevice::EnsureAudioTrack(bool Force)
|
||||
{
|
||||
if (keepTracks)
|
||||
return;
|
||||
if (Force || !availableTracks[currentAudioTrack].id) {
|
||||
eTrackType PreferredTrack = ttAudioFirst;
|
||||
int PreferredAudioChannel = 0;
|
||||
@ -1075,6 +1080,8 @@ void cDevice::EnsureAudioTrack(bool Force)
|
||||
|
||||
void cDevice::EnsureSubtitleTrack(void)
|
||||
{
|
||||
if (keepTracks)
|
||||
return;
|
||||
if (Setup.DisplaySubtitles) {
|
||||
eTrackType PreferredTrack = ttNone;
|
||||
int LanguagePreference = INT_MAX; // higher than the maximum possible value
|
||||
|
7
device.h
7
device.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: device.h 2.44 2013/01/22 17:01:16 kls Exp $
|
||||
* $Id: device.h 2.45 2013/02/01 11:54:08 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __DEVICE_H
|
||||
@ -490,6 +490,7 @@ private:
|
||||
cMutex mutexCurrentSubtitleTrack;
|
||||
int currentAudioTrackMissingCount;
|
||||
bool autoSelectPreferredSubtitleLanguage;
|
||||
bool keepTracks;
|
||||
int pre_1_3_19_PrivateStream;
|
||||
protected:
|
||||
virtual void SetAudioTrackDevice(eTrackType Type);
|
||||
@ -539,6 +540,10 @@ public:
|
||||
void EnsureSubtitleTrack(void);
|
||||
///< Makes sure one of the preferred language subtitle tracks is selected.
|
||||
///< Only has an effect if Setup.DisplaySubtitles is on.
|
||||
void SetKeepTracks(bool KeepTracks) { keepTracks = KeepTracks; }
|
||||
///< Controls whether the current audio and subtitle track settings shall
|
||||
///< be kept as they currently are, or if they shall be automatically
|
||||
///< adjusted. This is used when pausing live video.
|
||||
|
||||
// Audio facilities
|
||||
|
||||
|
4
menu.c
4
menu.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: menu.c 2.74 2013/01/17 14:20:08 kls Exp $
|
||||
* $Id: menu.c 2.75 2013/02/01 12:00:10 kls Exp $
|
||||
*/
|
||||
|
||||
#include "menu.h"
|
||||
@ -4485,6 +4485,7 @@ cString cReplayControl::fileName;
|
||||
cReplayControl::cReplayControl(bool PauseLive)
|
||||
:cDvbPlayerControl(fileName, PauseLive)
|
||||
{
|
||||
cDevice::PrimaryDevice()->SetKeepTracks(PauseLive);
|
||||
currentReplayControl = this;
|
||||
displayReplay = NULL;
|
||||
marksModified = false;
|
||||
@ -4504,6 +4505,7 @@ cReplayControl::cReplayControl(bool PauseLive)
|
||||
|
||||
cReplayControl::~cReplayControl()
|
||||
{
|
||||
cDevice::PrimaryDevice()->SetKeepTracks(false);
|
||||
Hide();
|
||||
cStatus::MsgReplaying(this, NULL, fileName, false);
|
||||
Stop();
|
||||
|
Loading…
Reference in New Issue
Block a user