diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-03-30 12:49:40 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-03-30 12:49:40 -0400 |
| commit | f756e39b9d5b461e6bcaa4e71006038983d28213 (patch) | |
| tree | 997f476e118787cb65d219192a00458707c872fc /MediaBrowser.Controller | |
| parent | a90d892ecab78a8f11fa7a4efda65ee70eceafe1 (diff) | |
restored live tv playback in the web client
Diffstat (limited to 'MediaBrowser.Controller')
7 files changed, 170 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Dto/IDtoService.cs b/MediaBrowser.Controller/Dto/IDtoService.cs index a02851a9f..2704959e4 100644 --- a/MediaBrowser.Controller/Dto/IDtoService.cs +++ b/MediaBrowser.Controller/Dto/IDtoService.cs @@ -86,6 +86,13 @@ namespace MediaBrowser.Controller.Dto ChapterInfoDto GetChapterInfoDto(ChapterInfo chapterInfo, BaseItem item); /// <summary> + /// Gets the media sources. + /// </summary> + /// <param name="item">The item.</param> + /// <returns>List{MediaSourceInfo}.</returns> + List<MediaSourceInfo> GetMediaSources(BaseItem item); + + /// <summary> /// Gets the item by name dto. /// </summary> /// <param name="item">The item.</param> diff --git a/MediaBrowser.Controller/Library/IMusicManager.cs b/MediaBrowser.Controller/Library/IMusicManager.cs new file mode 100644 index 000000000..192ce2e83 --- /dev/null +++ b/MediaBrowser.Controller/Library/IMusicManager.cs @@ -0,0 +1,38 @@ +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Audio; +using System.Collections.Generic; + +namespace MediaBrowser.Controller.Library +{ + public interface IMusicManager + { + /// <summary> + /// Gets the instant mix from song. + /// </summary> + /// <param name="item">The item.</param> + /// <param name="user">The user.</param> + /// <returns>IEnumerable{Audio}.</returns> + IEnumerable<Audio> GetInstantMixFromSong(Audio item, User user); + /// <summary> + /// Gets the instant mix from artist. + /// </summary> + /// <param name="name">The name.</param> + /// <param name="user">The user.</param> + /// <returns>IEnumerable{Audio}.</returns> + IEnumerable<Audio> GetInstantMixFromArtist(string name, User user); + /// <summary> + /// Gets the instant mix from album. + /// </summary> + /// <param name="item">The item.</param> + /// <param name="user">The user.</param> + /// <returns>IEnumerable{Audio}.</returns> + IEnumerable<Audio> GetInstantMixFromAlbum(MusicAlbum item, User user); + /// <summary> + /// Gets the instant mix from genre. + /// </summary> + /// <param name="genres">The genres.</param> + /// <param name="user">The user.</param> + /// <returns>IEnumerable{Audio}.</returns> + IEnumerable<Audio> GetInstantMixFromGenres(IEnumerable<string> genres, User user); + } +} diff --git a/MediaBrowser.Controller/LiveTv/ILiveTvRecording.cs b/MediaBrowser.Controller/LiveTv/ILiveTvRecording.cs index edf86cae8..f8cdc6eee 100644 --- a/MediaBrowser.Controller/LiveTv/ILiveTvRecording.cs +++ b/MediaBrowser.Controller/LiveTv/ILiveTvRecording.cs @@ -1,8 +1,8 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Library; using System.Threading; using System.Threading.Tasks; -using MediaBrowser.Model.Library; namespace MediaBrowser.Controller.LiveTv { @@ -14,6 +14,8 @@ namespace MediaBrowser.Controller.LiveTv RecordingInfo RecordingInfo { get; set; } + long? RunTimeTicks { get; set; } + string GetClientTypeName(); string GetUserDataKey(); diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 9915ac044..16834a945 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -134,6 +134,7 @@ <Compile Include="Library\DeleteOptions.cs" /> <Compile Include="Library\ILibraryPostScanTask.cs" /> <Compile Include="Library\IMetadataSaver.cs" /> + <Compile Include="Library\IMusicManager.cs" /> <Compile Include="Library\ItemUpdateType.cs" /> <Compile Include="Library\IUserDataManager.cs" /> <Compile Include="Library\UserDataSaveEventArgs.cs" /> @@ -155,11 +156,14 @@ <Compile Include="LiveTv\SeriesTimerInfo.cs" /> <Compile Include="LiveTv\TimerInfo.cs" /> <Compile Include="Localization\ILocalizationManager.cs" /> + <Compile Include="MediaEncoding\EncodingOptions.cs" /> <Compile Include="MediaEncoding\ChapterImageRefreshOptions.cs" /> + <Compile Include="MediaEncoding\EncodingResult.cs" /> <Compile Include="MediaEncoding\IEncodingManager.cs" /> <Compile Include="MediaEncoding\ImageEncodingOptions.cs" /> <Compile Include="MediaEncoding\IMediaEncoder.cs" /> <Compile Include="MediaEncoding\InternalMediaInfoResult.cs" /> + <Compile Include="MediaEncoding\VideoEncodingOptions.cs" /> <Compile Include="Net\IHasResultFactory.cs" /> <Compile Include="Net\IHttpResultFactory.cs" /> <Compile Include="Net\IHttpServer.cs" /> diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingOptions.cs b/MediaBrowser.Controller/MediaEncoding/EncodingOptions.cs new file mode 100644 index 000000000..74235becd --- /dev/null +++ b/MediaBrowser.Controller/MediaEncoding/EncodingOptions.cs @@ -0,0 +1,79 @@ +using MediaBrowser.Controller.Dlna; + +namespace MediaBrowser.Controller.MediaEncoding +{ + public class EncodingOptions + { + /// <summary> + /// Gets or sets the item identifier. + /// </summary> + /// <value>The item identifier.</value> + public string ItemId { get; set; } + + /// <summary> + /// Gets or sets the media source identifier. + /// </summary> + /// <value>The media source identifier.</value> + public string MediaSourceId { get; set; } + + /// <summary> + /// Gets or sets the device profile. + /// </summary> + /// <value>The device profile.</value> + public DeviceProfile DeviceProfile { get; set; } + + /// <summary> + /// Gets or sets the output path. + /// </summary> + /// <value>The output path.</value> + public string OutputPath { get; set; } + + /// <summary> + /// Gets or sets the container. + /// </summary> + /// <value>The container.</value> + public string Container { get; set; } + + /// <summary> + /// Gets or sets the audio codec. + /// </summary> + /// <value>The audio codec.</value> + public string AudioCodec { get; set; } + + /// <summary> + /// Gets or sets the start time ticks. + /// </summary> + /// <value>The start time ticks.</value> + public long? StartTimeTicks { get; set; } + + /// <summary> + /// Gets or sets the maximum channels. + /// </summary> + /// <value>The maximum channels.</value> + public int? MaxAudioChannels { get; set; } + + /// <summary> + /// Gets or sets the channels. + /// </summary> + /// <value>The channels.</value> + public int? AudioChannels { get; set; } + + /// <summary> + /// Gets or sets the sample rate. + /// </summary> + /// <value>The sample rate.</value> + public int? AudioSampleRate { get; set; } + + /// <summary> + /// Gets or sets the bit rate. + /// </summary> + /// <value>The bit rate.</value> + public int? AudioBitRate { get; set; } + + /// <summary> + /// Gets or sets the maximum audio bit rate. + /// </summary> + /// <value>The maximum audio bit rate.</value> + public int? MaxAudioBitRate { get; set; } + } +} diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingResult.cs b/MediaBrowser.Controller/MediaEncoding/EncodingResult.cs new file mode 100644 index 000000000..75ee90e42 --- /dev/null +++ b/MediaBrowser.Controller/MediaEncoding/EncodingResult.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MediaBrowser.Controller.MediaEncoding +{ + public class EncodingResult + { + public string OutputPath { get; set; } + } +} diff --git a/MediaBrowser.Controller/MediaEncoding/VideoEncodingOptions.cs b/MediaBrowser.Controller/MediaEncoding/VideoEncodingOptions.cs new file mode 100644 index 000000000..773f0ea46 --- /dev/null +++ b/MediaBrowser.Controller/MediaEncoding/VideoEncodingOptions.cs @@ -0,0 +1,26 @@ + +namespace MediaBrowser.Controller.MediaEncoding +{ + public class VideoEncodingOptions : EncodingOptions + { + public string VideoCodec { get; set; } + + public string VideoProfile { get; set; } + + public double? VideoLevel { get; set; } + + public int? VideoStreamIndex { get; set; } + + public int? AudioStreamIndex { get; set; } + + public int? SubtitleStreamIndex { get; set; } + + public int? MaxWidth { get; set; } + + public int? MaxHeight { get; set; } + + public int? Height { get; set; } + + public int? Width { get; set; } + } +} |
