diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index 9e2ce066f5..98004dfcb0 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -365,12 +365,13 @@ namespace MediaBrowser.Api.Playback } } - return string.Format("-af \"{0}aresample={1}async=1{2}{3}\"", + return string.Format("-af \"{0}aresample={1}async={4}{2}{3}\"", adelay, audioSampleRate, volParam, - pts); + pts, + state.AudioSync.ToString(UsCulture)); } /// @@ -1044,6 +1045,7 @@ namespace MediaBrowser.Api.Playback //state.RunTimeTicks = recording.RunTimeTicks; state.SendInputOverStandardInput = recording.RecordingInfo.Status == RecordingStatus.InProgress; + state.AudioSync = 1000; } else if (item is LiveTvChannel) { @@ -1069,6 +1071,7 @@ namespace MediaBrowser.Api.Playback } state.SendInputOverStandardInput = true; + state.AudioSync = 1000; } else { diff --git a/MediaBrowser.Api/Playback/StreamState.cs b/MediaBrowser.Api/Playback/StreamState.cs index 17a8303801..6354235ceb 100644 --- a/MediaBrowser.Api/Playback/StreamState.cs +++ b/MediaBrowser.Api/Playback/StreamState.cs @@ -58,5 +58,7 @@ namespace MediaBrowser.Api.Playback public int SegmentLength = 10; public long? RunTimeTicks; + + public int AudioSync = 1; } }