|
@@ -1517,7 +1517,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
|
|
EnforceKeepUpTo(timer, seriesPath);
|
|
|
};
|
|
|
|
|
|
- await recorder.Record(mediaStreamInfo, recordPath, duration, onStarted, cancellationToken).ConfigureAwait(false);
|
|
|
+ await recorder.Record(liveStreamInfo.Item1 as IDirectStreamProvider, mediaStreamInfo, recordPath, duration, onStarted, cancellationToken).ConfigureAwait(false);
|
|
|
|
|
|
recordingStatus = RecordingStatus.Completed;
|
|
|
_logger.Info("Recording completed: {0}", recordPath);
|
|
@@ -1759,17 +1759,27 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
|
|
{
|
|
|
var config = GetConfiguration();
|
|
|
|
|
|
- if (config.EnableRecordingEncoding)
|
|
|
- {
|
|
|
- var regInfo = await _liveTvManager.GetRegistrationInfo("embytvrecordingconversion").ConfigureAwait(false);
|
|
|
+ var regInfo = await _liveTvManager.GetRegistrationInfo("embytvrecordingconversion").ConfigureAwait(false);
|
|
|
|
|
|
- if (regInfo.IsValid)
|
|
|
+ if (regInfo.IsValid)
|
|
|
+ {
|
|
|
+ if (config.EnableRecordingEncoding)
|
|
|
{
|
|
|
return new EncodedRecorder(_logger, _fileSystem, _mediaEncoder, _config.ApplicationPaths, _jsonSerializer, config, _httpClient, _processFactory, _config);
|
|
|
}
|
|
|
+
|
|
|
+ return new DirectRecorder(_logger, _httpClient, _fileSystem);
|
|
|
+
|
|
|
+ //var options = new LiveTvOptions
|
|
|
+ //{
|
|
|
+ // EnableOriginalAudioWithEncodedRecordings = true,
|
|
|
+ // RecordedVideoCodec = "copy",
|
|
|
+ // RecordingEncodingFormat = "ts"
|
|
|
+ //};
|
|
|
+ //return new EncodedRecorder(_logger, _fileSystem, _mediaEncoder, _config.ApplicationPaths, _jsonSerializer, options, _httpClient, _processFactory, _config);
|
|
|
}
|
|
|
|
|
|
- return new DirectRecorder(_logger, _httpClient, _fileSystem);
|
|
|
+ throw new InvalidOperationException("Emby DVR Requires an active Emby Premiere subscription.");
|
|
|
}
|
|
|
|
|
|
private async void OnSuccessfulRecording(TimerInfo timer, string path)
|