removed codec enums

pull/702/head
Luke Pulverenti 11 years ago
parent 87aee1625d
commit 7438aa6dfa

@ -10,8 +10,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class GetCultures /// Class GetCultures
/// </summary> /// </summary>
[Route("/Localization/Cultures", "GET")] [Route("/Localization/Cultures", "GET", Summary = "Gets known cultures")]
[Api(Description = "Gets known cultures")]
public class GetCultures : IReturn<List<CultureDto>> public class GetCultures : IReturn<List<CultureDto>>
{ {
} }
@ -19,8 +18,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class GetCountries /// Class GetCountries
/// </summary> /// </summary>
[Route("/Localization/Countries", "GET")] [Route("/Localization/Countries", "GET", Summary = "Gets known countries")]
[Api(Description = "Gets known countries")]
public class GetCountries : IReturn<List<CountryInfo>> public class GetCountries : IReturn<List<CountryInfo>>
{ {
} }
@ -28,8 +26,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class ParentalRatings /// Class ParentalRatings
/// </summary> /// </summary>
[Route("/Localization/ParentalRatings", "GET")] [Route("/Localization/ParentalRatings", "GET", Summary = "Gets known parental ratings")]
[Api(Description = "Gets known parental ratings")]
public class GetParentalRatings : IReturn<List<ParentalRating>> public class GetParentalRatings : IReturn<List<ParentalRating>>
{ {
} }

@ -5,8 +5,7 @@ using ServiceStack;
namespace MediaBrowser.Api namespace MediaBrowser.Api
{ {
[Route("/News/Product", "GET")] [Route("/News/Product", "GET", Summary = "Gets the latest product news.")]
[Api(Description = "Gets the latest product news.")]
public class GetProductNews : IReturn<QueryResult<NewsItem>> public class GetProductNews : IReturn<QueryResult<NewsItem>>
{ {
/// <summary> /// <summary>

@ -1,15 +1,14 @@
using MediaBrowser.Controller.Notifications; using MediaBrowser.Controller.Notifications;
using MediaBrowser.Model.Notifications; using MediaBrowser.Model.Notifications;
using ServiceStack;
using System; using System;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using ServiceStack;
namespace MediaBrowser.Api namespace MediaBrowser.Api
{ {
[Route("/Notifications/{UserId}", "GET")] [Route("/Notifications/{UserId}", "GET", Summary = "Gets notifications")]
[Api(Description = "Gets notifications")]
public class GetNotifications : IReturn<NotificationResult> public class GetNotifications : IReturn<NotificationResult>
{ {
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] [ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
@ -25,16 +24,14 @@ namespace MediaBrowser.Api
public int? Limit { get; set; } public int? Limit { get; set; }
} }
[Route("/Notifications/{UserId}/Summary", "GET")] [Route("/Notifications/{UserId}/Summary", "GET", Summary = "Gets a notification summary for a user")]
[Api(Description = "Gets a notification summary for a user")]
public class GetNotificationsSummary : IReturn<NotificationsSummary> public class GetNotificationsSummary : IReturn<NotificationsSummary>
{ {
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] [ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
public Guid UserId { get; set; } public Guid UserId { get; set; }
} }
[Route("/Notifications/{UserId}", "POST")] [Route("/Notifications/{UserId}", "POST", Summary = "Adds a notifications")]
[Api(Description = "Adds a notifications")]
public class AddUserNotification : IReturn<Notification> public class AddUserNotification : IReturn<Notification>
{ {
[ApiMember(Name = "Id", Description = "The Id of the new notification. If unspecified one will be provided.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] [ApiMember(Name = "Id", Description = "The Id of the new notification. If unspecified one will be provided.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")]
@ -62,8 +59,7 @@ namespace MediaBrowser.Api
public NotificationLevel Level { get; set; } public NotificationLevel Level { get; set; }
} }
[Route("/Notifications/{UserId}/Read", "POST")] [Route("/Notifications/{UserId}/Read", "POST", Summary = "Marks notifications as read")]
[Api(Description = "Marks notifications as read")]
public class MarkRead : IReturnVoid public class MarkRead : IReturnVoid
{ {
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
@ -73,8 +69,7 @@ namespace MediaBrowser.Api
public string Ids { get; set; } public string Ids { get; set; }
} }
[Route("/Notifications/{UserId}/Unread", "POST")] [Route("/Notifications/{UserId}/Unread", "POST", Summary = "Marks notifications as unread")]
[Api(Description = "Marks notifications as unread")]
public class MarkUnread : IReturnVoid public class MarkUnread : IReturnVoid
{ {
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]

@ -1,21 +1,20 @@
using System.Collections.Generic; using MediaBrowser.Common.Constants;
using System.Globalization;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Common.Constants;
using MediaBrowser.Common.Net; using MediaBrowser.Common.Net;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Serialization; using MediaBrowser.Model.Serialization;
using ServiceStack; using ServiceStack;
using System.Collections.Generic;
using System.Globalization;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Api namespace MediaBrowser.Api
{ {
/// <summary> /// <summary>
/// Class InstallPackage /// Class InstallPackage
/// </summary> /// </summary>
[Route("/PackageReviews/{Id}", "POST")] [Route("/Packages/Reviews/{Id}", "POST", Summary = "Creates or updates a package review")]
[Api(("Creates or updates a package review"))]
public class CreateReviewRequest : IReturnVoid public class CreateReviewRequest : IReturnVoid
{ {
/// <summary> /// <summary>
@ -57,8 +56,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class InstallPackage /// Class InstallPackage
/// </summary> /// </summary>
[Route("/PackageReviews/{Id}", "GET")] [Route("/Packages/{Id}/Reviews", "GET", Summary = "Gets reviews for a package")]
[Api(("Retrieve reviews for a package"))]
public class ReviewRequest : IReturn<List<PackageReviewInfo>> public class ReviewRequest : IReturn<List<PackageReviewInfo>>
{ {
/// <summary> /// <summary>

@ -14,8 +14,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class GetPackage /// Class GetPackage
/// </summary> /// </summary>
[Route("/Packages/{Name}", "GET")] [Route("/Packages/{Name}", "GET", Summary = "Gets a package, by name or assembly guid")]
[Api(("Gets a package, by name or assembly guid"))]
public class GetPackage : IReturn<PackageInfo> public class GetPackage : IReturn<PackageInfo>
{ {
/// <summary> /// <summary>
@ -36,8 +35,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class GetPackages /// Class GetPackages
/// </summary> /// </summary>
[Route("/Packages", "GET")] [Route("/Packages", "GET", Summary = "Gets available packages")]
[Api(("Gets available packages"))]
public class GetPackages : IReturn<List<PackageInfo>> public class GetPackages : IReturn<List<PackageInfo>>
{ {
/// <summary> /// <summary>
@ -57,8 +55,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class GetPackageVersionUpdates /// Class GetPackageVersionUpdates
/// </summary> /// </summary>
[Route("/Packages/Updates", "GET")] [Route("/Packages/Updates", "GET", Summary = "Gets available package updates for currently installed packages")]
[Api(("Gets available package updates for currently installed packages"))]
public class GetPackageVersionUpdates : IReturn<List<PackageVersionInfo>> public class GetPackageVersionUpdates : IReturn<List<PackageVersionInfo>>
{ {
/// <summary> /// <summary>
@ -72,8 +69,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class InstallPackage /// Class InstallPackage
/// </summary> /// </summary>
[Route("/Packages/Installed/{Name}", "POST")] [Route("/Packages/Installed/{Name}", "POST", Summary = "Installs a package")]
[Api(("Installs a package"))]
public class InstallPackage : IReturnVoid public class InstallPackage : IReturnVoid
{ {
/// <summary> /// <summary>
@ -108,8 +104,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class CancelPackageInstallation /// Class CancelPackageInstallation
/// </summary> /// </summary>
[Route("/Packages/Installing/{Id}", "DELETE")] [Route("/Packages/Installing/{Id}", "DELETE", Summary = "Cancels a package installation")]
[Api(("Cancels a package installation"))]
public class CancelPackageInstallation : IReturnVoid public class CancelPackageInstallation : IReturnVoid
{ {
/// <summary> /// <summary>

@ -9,7 +9,6 @@ using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Controller.Persistence; using MediaBrowser.Controller.Persistence;
using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Drawing; using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Model.Library; using MediaBrowser.Model.Library;
@ -735,15 +734,12 @@ namespace MediaBrowser.Api.Playback
{ {
if (audioStream != null) if (audioStream != null)
{ {
if (audioStream.Channels > 2 && request.AudioCodec.HasValue) if (audioStream.Channels > 2 && string.Equals(request.AudioCodec, "wma", StringComparison.OrdinalIgnoreCase))
{
if (request.AudioCodec.Value == AudioCodecs.Wma)
{ {
// wmav2 currently only supports two channel output // wmav2 currently only supports two channel output
return 2; return 2;
} }
} }
}
if (request.MaxAudioChannels.HasValue) if (request.MaxAudioChannels.HasValue)
{ {
@ -778,26 +774,26 @@ namespace MediaBrowser.Api.Playback
{ {
var codec = request.AudioCodec; var codec = request.AudioCodec;
if (codec.HasValue) if (!string.IsNullOrEmpty(codec))
{ {
if (codec == AudioCodecs.Aac) if (string.Equals(codec, "aac", StringComparison.OrdinalIgnoreCase))
{ {
return "aac -strict experimental"; return "aac -strict experimental";
} }
if (codec == AudioCodecs.Mp3) if (string.Equals(codec, "mp3", StringComparison.OrdinalIgnoreCase))
{ {
return "libmp3lame"; return "libmp3lame";
} }
if (codec == AudioCodecs.Vorbis) if (string.Equals(codec, "vorbis", StringComparison.OrdinalIgnoreCase))
{ {
return "libvorbis"; return "libvorbis";
} }
if (codec == AudioCodecs.Wma) if (string.Equals(codec, "wma", StringComparison.OrdinalIgnoreCase))
{ {
return "wmav2"; return "wmav2";
} }
return codec.ToString().ToLower(); return codec.ToLower();
} }
return "copy"; return "copy";
@ -812,26 +808,26 @@ namespace MediaBrowser.Api.Playback
{ {
var codec = request.VideoCodec; var codec = request.VideoCodec;
if (codec.HasValue) if (!string.IsNullOrEmpty(codec))
{ {
if (codec == VideoCodecs.H264) if (string.Equals(codec, "h264", StringComparison.OrdinalIgnoreCase))
{ {
return "libx264"; return "libx264";
} }
if (codec == VideoCodecs.Vpx) if (string.Equals(codec, "vpx", StringComparison.OrdinalIgnoreCase))
{ {
return "libvpx"; return "libvpx";
} }
if (codec == VideoCodecs.Wmv) if (string.Equals(codec, "wmv", StringComparison.OrdinalIgnoreCase))
{ {
return "msmpeg4"; return "msmpeg4";
} }
if (codec == VideoCodecs.Theora) if (string.Equals(codec, "theora", StringComparison.OrdinalIgnoreCase))
{ {
return "libtheora"; return "libtheora";
} }
return codec.ToString().ToLower(); return codec.ToLower();
} }
return "copy"; return "copy";
@ -1229,12 +1225,12 @@ namespace MediaBrowser.Api.Playback
{ {
if (videoRequest != null) if (videoRequest != null)
{ {
videoRequest.VideoCodec = (VideoCodecs)Enum.Parse(typeof(VideoCodecs), val, true); videoRequest.VideoCodec = val;
} }
} }
else if (i == 5) else if (i == 5)
{ {
request.AudioCodec = (AudioCodecs)Enum.Parse(typeof(AudioCodecs), val, true); request.AudioCodec = val;
} }
else if (i == 6) else if (i == 6)
{ {
@ -1311,7 +1307,7 @@ namespace MediaBrowser.Api.Playback
var url = Request.PathInfo; var url = Request.PathInfo;
if (!request.AudioCodec.HasValue) if (string.IsNullOrEmpty(request.AudioCodec))
{ {
request.AudioCodec = InferAudioCodec(url); request.AudioCodec = InferAudioCodec(url);
} }
@ -1439,7 +1435,7 @@ namespace MediaBrowser.Api.Playback
if (videoRequest != null) if (videoRequest != null)
{ {
if (!videoRequest.VideoCodec.HasValue) if (string.IsNullOrEmpty(videoRequest.VideoCodec))
{ {
videoRequest.VideoCodec = InferVideoCodec(url); videoRequest.VideoCodec = InferVideoCodec(url);
} }
@ -1546,41 +1542,41 @@ namespace MediaBrowser.Api.Playback
/// </summary> /// </summary>
/// <param name="url">The URL.</param> /// <param name="url">The URL.</param>
/// <returns>System.Nullable{AudioCodecs}.</returns> /// <returns>System.Nullable{AudioCodecs}.</returns>
private AudioCodecs? InferAudioCodec(string url) private string InferAudioCodec(string url)
{ {
var ext = Path.GetExtension(url); var ext = Path.GetExtension(url);
if (string.Equals(ext, ".mp3", StringComparison.OrdinalIgnoreCase)) if (string.Equals(ext, ".mp3", StringComparison.OrdinalIgnoreCase))
{ {
return AudioCodecs.Mp3; return "mp3";
} }
if (string.Equals(ext, ".aac", StringComparison.OrdinalIgnoreCase)) if (string.Equals(ext, ".aac", StringComparison.OrdinalIgnoreCase))
{ {
return AudioCodecs.Aac; return "aac";
} }
if (string.Equals(ext, ".wma", StringComparison.OrdinalIgnoreCase)) if (string.Equals(ext, ".wma", StringComparison.OrdinalIgnoreCase))
{ {
return AudioCodecs.Wma; return "wma";
} }
if (string.Equals(ext, ".ogg", StringComparison.OrdinalIgnoreCase)) if (string.Equals(ext, ".ogg", StringComparison.OrdinalIgnoreCase))
{ {
return AudioCodecs.Vorbis; return "vorbis";
} }
if (string.Equals(ext, ".oga", StringComparison.OrdinalIgnoreCase)) if (string.Equals(ext, ".oga", StringComparison.OrdinalIgnoreCase))
{ {
return AudioCodecs.Vorbis; return "vorbis";
} }
if (string.Equals(ext, ".ogv", StringComparison.OrdinalIgnoreCase)) if (string.Equals(ext, ".ogv", StringComparison.OrdinalIgnoreCase))
{ {
return AudioCodecs.Vorbis; return "vorbis";
} }
if (string.Equals(ext, ".webm", StringComparison.OrdinalIgnoreCase)) if (string.Equals(ext, ".webm", StringComparison.OrdinalIgnoreCase))
{ {
return AudioCodecs.Vorbis; return "vorbis";
} }
if (string.Equals(ext, ".webma", StringComparison.OrdinalIgnoreCase)) if (string.Equals(ext, ".webma", StringComparison.OrdinalIgnoreCase))
{ {
return AudioCodecs.Vorbis; return "vorbis";
} }
return null; return null;
@ -1591,28 +1587,28 @@ namespace MediaBrowser.Api.Playback
/// </summary> /// </summary>
/// <param name="url">The URL.</param> /// <param name="url">The URL.</param>
/// <returns>System.Nullable{VideoCodecs}.</returns> /// <returns>System.Nullable{VideoCodecs}.</returns>
private VideoCodecs? InferVideoCodec(string url) private string InferVideoCodec(string url)
{ {
var ext = Path.GetExtension(url); var ext = Path.GetExtension(url);
if (string.Equals(ext, ".asf", StringComparison.OrdinalIgnoreCase)) if (string.Equals(ext, ".asf", StringComparison.OrdinalIgnoreCase))
{ {
return VideoCodecs.Wmv; return "wmv";
} }
if (string.Equals(ext, ".webm", StringComparison.OrdinalIgnoreCase)) if (string.Equals(ext, ".webm", StringComparison.OrdinalIgnoreCase))
{ {
return VideoCodecs.Vpx; return "vpx";
} }
if (string.Equals(ext, ".ogg", StringComparison.OrdinalIgnoreCase) || string.Equals(ext, ".ogv", StringComparison.OrdinalIgnoreCase)) if (string.Equals(ext, ".ogg", StringComparison.OrdinalIgnoreCase) || string.Equals(ext, ".ogv", StringComparison.OrdinalIgnoreCase))
{ {
return VideoCodecs.Theora; return "theora";
} }
if (string.Equals(ext, ".m3u8", StringComparison.OrdinalIgnoreCase) || string.Equals(ext, ".ts", StringComparison.OrdinalIgnoreCase)) if (string.Equals(ext, ".m3u8", StringComparison.OrdinalIgnoreCase) || string.Equals(ext, ".ts", StringComparison.OrdinalIgnoreCase))
{ {
return VideoCodecs.H264; return "h264";
} }
return VideoCodecs.Copy; return "copy";
} }
} }
} }

@ -91,11 +91,11 @@ namespace MediaBrowser.Api.Playback.Hls
{ {
var state = GetState(request, CancellationToken.None).Result; var state = GetState(request, CancellationToken.None).Result;
if (!state.VideoRequest.VideoBitRate.HasValue && (!state.VideoRequest.VideoCodec.HasValue || state.VideoRequest.VideoCodec.Value != VideoCodecs.Copy)) if (!state.VideoRequest.VideoBitRate.HasValue && (string.IsNullOrEmpty(state.VideoRequest.VideoCodec) || !string.Equals(state.VideoRequest.VideoCodec, "copy", StringComparison.OrdinalIgnoreCase)))
{ {
throw new ArgumentException("A video bitrate is required"); throw new ArgumentException("A video bitrate is required");
} }
if (!state.Request.AudioBitRate.HasValue && (!state.Request.AudioCodec.HasValue || state.Request.AudioCodec.Value != AudioCodecs.Copy)) if (!state.Request.AudioBitRate.HasValue && (string.IsNullOrEmpty(state.Request.AudioCodec) || !string.Equals(state.Request.AudioCodec, "copy", StringComparison.OrdinalIgnoreCase)))
{ {
throw new ArgumentException("An audio bitrate is required"); throw new ArgumentException("An audio bitrate is required");
} }

@ -136,11 +136,11 @@ namespace MediaBrowser.Api.Playback.Hls
{ {
var state = await GetState(request, CancellationToken.None).ConfigureAwait(false); var state = await GetState(request, CancellationToken.None).ConfigureAwait(false);
if (!state.VideoRequest.VideoBitRate.HasValue && (!state.VideoRequest.VideoCodec.HasValue || state.VideoRequest.VideoCodec.Value != VideoCodecs.Copy)) if (!state.VideoRequest.VideoBitRate.HasValue && (string.IsNullOrEmpty(state.VideoRequest.VideoCodec) || !string.Equals(state.VideoRequest.VideoCodec, "copy", StringComparison.OrdinalIgnoreCase)))
{ {
throw new ArgumentException("A video bitrate is required"); throw new ArgumentException("A video bitrate is required");
} }
if (!state.Request.AudioBitRate.HasValue && (!state.Request.AudioCodec.HasValue || state.Request.AudioCodec.Value != AudioCodecs.Copy)) if (!state.Request.AudioBitRate.HasValue && (string.IsNullOrEmpty(state.Request.AudioCodec) || !string.Equals(state.Request.AudioCodec, "copy", StringComparison.OrdinalIgnoreCase)))
{ {
throw new ArgumentException("An audio bitrate is required"); throw new ArgumentException("An audio bitrate is required");
} }

@ -50,38 +50,48 @@ namespace MediaBrowser.Api.Playback.Progressive
var videoRequest = state.Request as VideoStreamRequest; var videoRequest = state.Request as VideoStreamRequest;
// Try to infer based on the desired video codec // Try to infer based on the desired video codec
if (videoRequest != null && videoRequest.VideoCodec.HasValue) if (videoRequest != null && !string.IsNullOrEmpty(videoRequest.VideoCodec))
{ {
if (state.IsInputVideo) if (state.IsInputVideo)
{ {
switch (videoRequest.VideoCodec.Value) if (string.Equals(videoRequest.VideoCodec, "h264", StringComparison.OrdinalIgnoreCase))
{ {
case VideoCodecs.H264:
return ".ts"; return ".ts";
case VideoCodecs.Theora: }
if (string.Equals(videoRequest.VideoCodec, "theora", StringComparison.OrdinalIgnoreCase))
{
return ".ogv"; return ".ogv";
case VideoCodecs.Vpx: }
if (string.Equals(videoRequest.VideoCodec, "vpx", StringComparison.OrdinalIgnoreCase))
{
return ".webm"; return ".webm";
case VideoCodecs.Wmv: }
if (string.Equals(videoRequest.VideoCodec, "wmv", StringComparison.OrdinalIgnoreCase))
{
return ".asf"; return ".asf";
} }
} }
} }
// Try to infer based on the desired audio codec // Try to infer based on the desired audio codec
if (state.Request.AudioCodec.HasValue) if (!string.IsNullOrEmpty(state.Request.AudioCodec))
{ {
if (!state.IsInputVideo) if (!state.IsInputVideo)
{ {
switch (state.Request.AudioCodec.Value) if (string.Equals("aac", state.Request.AudioCodec, StringComparison.OrdinalIgnoreCase))
{ {
case AudioCodecs.Aac:
return ".aac"; return ".aac";
case AudioCodecs.Mp3: }
if (string.Equals("mp3", state.Request.AudioCodec, StringComparison.OrdinalIgnoreCase))
{
return ".mp3"; return ".mp3";
case AudioCodecs.Vorbis: }
if (string.Equals("vorbis", state.Request.AudioCodec, StringComparison.OrdinalIgnoreCase))
{
return ".ogg"; return ".ogg";
case AudioCodecs.Wma: }
if (string.Equals("wma", state.Request.AudioCodec, StringComparison.OrdinalIgnoreCase))
{
return ".wma"; return ".wma";
} }
} }

@ -26,7 +26,7 @@ namespace MediaBrowser.Api.Playback
/// </summary> /// </summary>
/// <value>The audio codec.</value> /// <value>The audio codec.</value>
[ApiMember(Name = "AudioCodec", Description = "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] [ApiMember(Name = "AudioCodec", Description = "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public AudioCodecs? AudioCodec { get; set; } public string AudioCodec { get; set; }
/// <summary> /// <summary>
/// Gets or sets the start time ticks. /// Gets or sets the start time ticks.
@ -81,7 +81,7 @@ namespace MediaBrowser.Api.Playback
/// </summary> /// </summary>
/// <value>The video codec.</value> /// <value>The video codec.</value>
[ApiMember(Name = "VideoCodec", Description = "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] [ApiMember(Name = "VideoCodec", Description = "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public VideoCodecs? VideoCodec { get; set; } public string VideoCodec { get; set; }
/// <summary> /// <summary>
/// Gets or sets the video bit rate. /// Gets or sets the video bit rate.

@ -18,8 +18,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class Plugins /// Class Plugins
/// </summary> /// </summary>
[Route("/Plugins", "GET")] [Route("/Plugins", "GET", Summary = "Gets a list of currently installed plugins")]
[Api(("Gets a list of currently installed plugins"))]
public class GetPlugins : IReturn<List<PluginInfo>> public class GetPlugins : IReturn<List<PluginInfo>>
{ {
} }
@ -27,8 +26,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class UninstallPlugin /// Class UninstallPlugin
/// </summary> /// </summary>
[Route("/Plugins/{Id}", "DELETE")] [Route("/Plugins/{Id}", "DELETE", Summary = "Uninstalls a plugin")]
[Api(("Uninstalls a plugin"))]
public class UninstallPlugin : IReturnVoid public class UninstallPlugin : IReturnVoid
{ {
/// <summary> /// <summary>
@ -42,8 +40,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class GetPluginConfiguration /// Class GetPluginConfiguration
/// </summary> /// </summary>
[Route("/Plugins/{Id}/Configuration", "GET")] [Route("/Plugins/{Id}/Configuration", "GET", Summary = "Gets a plugin's configuration")]
[Api(("Gets a plugin's configuration"))]
public class GetPluginConfiguration public class GetPluginConfiguration
{ {
/// <summary> /// <summary>
@ -57,8 +54,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class UpdatePluginConfiguration /// Class UpdatePluginConfiguration
/// </summary> /// </summary>
[Route("/Plugins/{Id}/Configuration", "POST")] [Route("/Plugins/{Id}/Configuration", "POST", Summary = "Updates a plugin's configuration")]
[Api(("Updates a plugin's configuration"))]
public class UpdatePluginConfiguration : IRequiresRequestStream, IReturnVoid public class UpdatePluginConfiguration : IRequiresRequestStream, IReturnVoid
{ {
/// <summary> /// <summary>
@ -78,8 +74,7 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class GetPluginSecurityInfo /// Class GetPluginSecurityInfo
/// </summary> /// </summary>
[Route("/Plugins/SecurityInfo", "GET")] [Route("/Plugins/SecurityInfo", "GET", Summary = "Gets plugin registration information")]
[Api(("Gets plugin registration information"))]
public class GetPluginSecurityInfo : IReturn<PluginSecurityInfo> public class GetPluginSecurityInfo : IReturn<PluginSecurityInfo>
{ {
} }
@ -87,14 +82,12 @@ namespace MediaBrowser.Api
/// <summary> /// <summary>
/// Class UpdatePluginSecurityInfo /// Class UpdatePluginSecurityInfo
/// </summary> /// </summary>
[Route("/Plugins/SecurityInfo", "POST")] [Route("/Plugins/SecurityInfo", "POST", Summary = "Updates plugin registration information")]
[Api("Updates plugin registration information")]
public class UpdatePluginSecurityInfo : PluginSecurityInfo, IReturnVoid public class UpdatePluginSecurityInfo : PluginSecurityInfo, IReturnVoid
{ {
} }
[Route("/Plugins/RegistrationRecords/{Name}", "GET")] [Route("/Plugins/RegistrationRecords/{Name}", "GET", Summary = "Gets registration status for a feature")]
[Api("Gets registration status for a feature")]
public class GetRegistrationStatus public class GetRegistrationStatus
{ {
[ApiMember(Name = "Name", Description = "Feature Name", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] [ApiMember(Name = "Name", Description = "Feature Name", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]

@ -135,7 +135,7 @@ namespace MediaBrowser.Dlna.PlayTo
_logger.Info("SSDP listener - Task completed"); _logger.Info("SSDP listener - Task completed");
} }
catch (OperationCanceledException c) catch (OperationCanceledException)
{ {
} }
catch (Exception e) catch (Exception e)
@ -154,7 +154,7 @@ namespace MediaBrowser.Dlna.PlayTo
{ {
await CreateController(uri).ConfigureAwait(false); await CreateController(uri).ConfigureAwait(false);
} }
catch (OperationCanceledException c) catch (OperationCanceledException)
{ {
} }
catch (Exception ex) catch (Exception ex)
@ -179,7 +179,7 @@ namespace MediaBrowser.Dlna.PlayTo
await Task.Delay(10000).ConfigureAwait(false); await Task.Delay(10000).ConfigureAwait(false);
} }
} }
catch (OperationCanceledException c) catch (OperationCanceledException)
{ {
} }
catch (Exception ex) catch (Exception ex)

@ -10,7 +10,7 @@
/// Omit to copy /// Omit to copy
/// </summary> /// </summary>
/// <value>The video codec.</value> /// <value>The video codec.</value>
public VideoCodecs? VideoCodec { get; set; } public string VideoCodec { get; set; }
/// <summary> /// <summary>
/// Gets or sets the video bit rate. /// Gets or sets the video bit rate.
@ -113,7 +113,7 @@
/// Omit to copy the original stream /// Omit to copy the original stream
/// </summary> /// </summary>
/// <value>The audio encoding format.</value> /// <value>The audio encoding format.</value>
public AudioCodecs? AudioCodec { get; set; } public string AudioCodec { get; set; }
/// <summary> /// <summary>
/// Gets or sets the item id. /// Gets or sets the item id.
@ -158,68 +158,4 @@
/// <value>The device id.</value> /// <value>The device id.</value>
public string DeviceId { get; set; } public string DeviceId { get; set; }
} }
/// <summary>
/// These are the codecs the api is capable of encoding to
/// </summary>
public enum AudioCodecs
{
/// <summary>
/// The aac
/// </summary>
Aac,
/// <summary>
/// The MP3
/// </summary>
Mp3,
/// <summary>
/// The vorbis
/// </summary>
Vorbis,
/// <summary>
/// The wma
/// </summary>
Wma,
/// <summary>
/// The copy
/// </summary>
Copy
}
/// <summary>
/// Enum VideoCodecs
/// </summary>
public enum VideoCodecs
{
H263,
/// <summary>
/// The H264
/// </summary>
H264,
/// <summary>
/// The mpeg4
/// </summary>
Mpeg4,
/// <summary>
/// The theora
/// </summary>
Theora,
/// <summary>
/// The VPX
/// </summary>
Vpx,
/// <summary>
/// The WMV
/// </summary>
Wmv,
/// <summary>
/// The copy
/// </summary>
Copy
}
} }

@ -88,7 +88,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
CreateRules(device); CreateRules(device);
} }
catch (Exception ex) catch (Exception)
{ {
//_logger.ErrorException("Error creating port forwarding rules", ex); //_logger.ErrorException("Error creating port forwarding rules", ex);
} }

@ -266,7 +266,7 @@ namespace MediaBrowser.ServerApplication
{ {
MigrateUserFolders(); MigrateUserFolders();
} }
catch (IOException ex) catch (IOException)
{ {
} }

@ -4029,7 +4029,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
self.createPackageReview = function (review) { self.createPackageReview = function (review) {
var url = self.getUrl("PackageReviews/" + review.id, review); var url = self.getUrl("Packages/Reviews/" + review.id, review);
return self.ajax({ return self.ajax({
type: "POST", type: "POST",
@ -4058,7 +4058,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
options.ForceTitle = true; options.ForceTitle = true;
} }
var url = self.getUrl("PackageReviews/" + packageId, options); var url = self.getUrl("Packages/" + packageId + "Reviews", options);
return self.ajax({ return self.ajax({
type: "GET", type: "GET",

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="MediaBrowser.ApiClient.Javascript" version="3.0.247" targetFramework="net45" /> <package id="MediaBrowser.ApiClient.Javascript" version="3.0.248" targetFramework="net45" />
</packages> </packages>
Loading…
Cancel
Save