diff options
author | peak3d <pfau@peak3d.de> | 2020-02-26 10:32:12 +0100 |
---|---|---|
committer | peak3d <pfau@peak3d.de> | 2020-02-26 10:32:12 +0100 |
commit | 29de01a54a3d955e4cbae8b02895d1d5201c966f (patch) | |
tree | 7cfc7fc9cd07e18128a87c5b7ef178c0a651a85c | |
parent | ff55d1b8bcaaf4646aa96add3843dbb5b6bcb3b6 (diff) |
[Backport] Allow DolbyVision streams passed from inputstream addons
-rw-r--r-- | xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp | 12 | ||||
-rw-r--r-- | xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp | 1 |
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; |