aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpeak3d <pfau@peak3d.de>2020-02-26 10:32:12 +0100
committerpeak3d <pfau@peak3d.de>2020-02-26 10:32:12 +0100
commit29de01a54a3d955e4cbae8b02895d1d5201c966f (patch)
tree7cfc7fc9cd07e18128a87c5b7ef178c0a651a85c
parentff55d1b8bcaaf4646aa96add3843dbb5b6bcb3b6 (diff)
[Backport] Allow DolbyVision streams passed from inputstream addons
-rw-r--r--xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp12
-rw-r--r--xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp1
2 files changed, 11 insertions, 2 deletions
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp
index 7405325e58..a7ca4758a1 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp
@@ -498,8 +498,16 @@ bool CDVDVideoCodecAndroidMediaCodec::Open(CDVDStreamInfo &hints, CDVDCodecOptio
}
break;
case AV_CODEC_ID_HEVC:
- m_mime = "video/hevc";
- m_formatname = "amc-h265";
+ if (m_hints.codec_tag == MKTAG('d', 'v', 'h', 'e'))
+ {
+ m_mime = "video/dolby-vision";
+ m_formatname = "amc-dvhe";
+ }
+ else
+ {
+ m_mime = "video/hevc";
+ m_formatname = "amc-hevc";
+ }
// check for hevc-hvcC and convert to h265-annex-b
if (m_hints.extradata && !m_hints.cryptoSession)
{
diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp
index f3432a859b..17df174488 100644
--- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp
+++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp
@@ -537,6 +537,7 @@ void CDVDDemuxClient::SetStreamProps(CDemuxStream *stream, std::map<int, std::sh
toStream->uniqueId = stream->uniqueId;
toStream->codec = stream->codec;
toStream->codecName = stream->codecName;
+ toStream->codec_fourcc = stream->codec_fourcc;
toStream->flags = stream->flags;
toStream->cryptoSession = stream->cryptoSession;
toStream->externalInterfaces = stream->externalInterfaces;