diff options
Diffstat (limited to 'dom')
-rw-r--r-- | dom/media/fmp4/MP4Demuxer.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/dom/media/fmp4/MP4Demuxer.cpp b/dom/media/fmp4/MP4Demuxer.cpp index 70b176699..a871d73b9 100644 --- a/dom/media/fmp4/MP4Demuxer.cpp +++ b/dom/media/fmp4/MP4Demuxer.cpp @@ -350,7 +350,12 @@ MP4TrackDemuxer::GetNextSample() nsAutoPtr<MediaRawDataWriter> writer(sample->CreateWriter()); writer->mCrypto.mMode = mInfo->mCrypto.mMode; writer->mCrypto.mIVSize = mInfo->mCrypto.mIVSize; - writer->mCrypto.mKeyId.AppendElements(mInfo->mCrypto.mKeyId); + + // The length of the key will be zero if no key was specified in the sample + // information, meaning we should fall back to the default key. + if (writer->mCrypto.mKeyId.Length() == 0) { + writer->mCrypto.mKeyId.AppendElements(mInfo->mCrypto.mKeyId); + } } return sample.forget(); } |