|
|
@ -199,6 +199,8 @@ public class FFmpegProcessService |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_logger.LogDebug("Watermark will come from playout item (custom)"); |
|
|
|
|
|
|
|
|
|
|
|
string customPath = _imageCache.GetPathForImage( |
|
|
|
string customPath = _imageCache.GetPathForImage( |
|
|
|
watermark.Image, |
|
|
|
watermark.Image, |
|
|
|
ArtworkKind.Watermark, |
|
|
|
ArtworkKind.Watermark, |
|
|
@ -209,6 +211,8 @@ public class FFmpegProcessService |
|
|
|
None, |
|
|
|
None, |
|
|
|
await IsAnimated(ffprobePath, customPath)); |
|
|
|
await IsAnimated(ffprobePath, customPath)); |
|
|
|
case ChannelWatermarkImageSource.ChannelLogo: |
|
|
|
case ChannelWatermarkImageSource.ChannelLogo: |
|
|
|
|
|
|
|
_logger.LogDebug("Watermark will come from playout item (channel logo)"); |
|
|
|
|
|
|
|
|
|
|
|
Option<string> maybeChannelPath = channel.Artwork.Count == 0 |
|
|
|
Option<string> maybeChannelPath = channel.Artwork.Count == 0 |
|
|
|
? |
|
|
|
? |
|
|
|
//We have to generate the logo on the fly and save it to a local temp path
|
|
|
|
//We have to generate the logo on the fly and save it to a local temp path
|
|
|
@ -240,6 +244,8 @@ public class FFmpegProcessService |
|
|
|
switch (channel.Watermark.ImageSource) |
|
|
|
switch (channel.Watermark.ImageSource) |
|
|
|
{ |
|
|
|
{ |
|
|
|
case ChannelWatermarkImageSource.Custom: |
|
|
|
case ChannelWatermarkImageSource.Custom: |
|
|
|
|
|
|
|
_logger.LogDebug("Watermark will come from channel (custom)"); |
|
|
|
|
|
|
|
|
|
|
|
string customPath = _imageCache.GetPathForImage( |
|
|
|
string customPath = _imageCache.GetPathForImage( |
|
|
|
channel.Watermark.Image, |
|
|
|
channel.Watermark.Image, |
|
|
|
ArtworkKind.Watermark, |
|
|
|
ArtworkKind.Watermark, |
|
|
@ -250,6 +256,8 @@ public class FFmpegProcessService |
|
|
|
None, |
|
|
|
None, |
|
|
|
await IsAnimated(ffprobePath, customPath)); |
|
|
|
await IsAnimated(ffprobePath, customPath)); |
|
|
|
case ChannelWatermarkImageSource.ChannelLogo: |
|
|
|
case ChannelWatermarkImageSource.ChannelLogo: |
|
|
|
|
|
|
|
_logger.LogDebug("Watermark will come from channel (channel logo)"); |
|
|
|
|
|
|
|
|
|
|
|
Option<string> maybeChannelPath = channel.Artwork.Count == 0 |
|
|
|
Option<string> maybeChannelPath = channel.Artwork.Count == 0 |
|
|
|
? |
|
|
|
? |
|
|
|
//We have to generate the logo on the fly and save it to a local temp path
|
|
|
|
//We have to generate the logo on the fly and save it to a local temp path
|
|
|
@ -280,6 +288,8 @@ public class FFmpegProcessService |
|
|
|
switch (watermark.ImageSource) |
|
|
|
switch (watermark.ImageSource) |
|
|
|
{ |
|
|
|
{ |
|
|
|
case ChannelWatermarkImageSource.Custom: |
|
|
|
case ChannelWatermarkImageSource.Custom: |
|
|
|
|
|
|
|
_logger.LogDebug("Watermark will come from global (custom)"); |
|
|
|
|
|
|
|
|
|
|
|
string customPath = _imageCache.GetPathForImage( |
|
|
|
string customPath = _imageCache.GetPathForImage( |
|
|
|
watermark.Image, |
|
|
|
watermark.Image, |
|
|
|
ArtworkKind.Watermark, |
|
|
|
ArtworkKind.Watermark, |
|
|
@ -290,6 +300,8 @@ public class FFmpegProcessService |
|
|
|
None, |
|
|
|
None, |
|
|
|
await IsAnimated(ffprobePath, customPath)); |
|
|
|
await IsAnimated(ffprobePath, customPath)); |
|
|
|
case ChannelWatermarkImageSource.ChannelLogo: |
|
|
|
case ChannelWatermarkImageSource.ChannelLogo: |
|
|
|
|
|
|
|
_logger.LogDebug("Watermark will come from global (channel logo)"); |
|
|
|
|
|
|
|
|
|
|
|
Option<string> maybeChannelPath = channel.Artwork.Count == 0 |
|
|
|
Option<string> maybeChannelPath = channel.Artwork.Count == 0 |
|
|
|
? |
|
|
|
? |
|
|
|
//We have to generate the logo on the fly and save it to a local temp path
|
|
|
|
//We have to generate the logo on the fly and save it to a local temp path
|
|
|
|