Loading dom/media/MediaDecoder.cpp +2 −15 Original line number Diff line number Diff line Loading @@ -782,7 +782,7 @@ MediaDecoder::MetadataLoaded(nsAutoPtr<MediaInfo> aInfo, aInfo->HasAudio(), aInfo->HasVideo()); mMediaSeekable = aInfo->mMediaSeekable; SetMediaSeekableOnlyInBufferedRanges(aInfo->mMediaSeekableOnlyInBufferedRanges); mMediaSeekableOnlyInBufferedRanges = aInfo->mMediaSeekableOnlyInBufferedRanges; mInfo = aInfo.forget(); ConstructMediaTracks(); Loading Loading @@ -1276,12 +1276,6 @@ MediaDecoder::UpdateEstimatedMediaDuration(int64_t aDuration) mEstimatedDuration = Some(TimeUnit::FromMicroseconds(aDuration)); } void MediaDecoder::SetMediaSeekableOnlyInBufferedRanges(bool aMediaSeekableOnlyInBufferedRanges){ MOZ_ASSERT(NS_IsMainThread()); mMediaSeekableOnlyInBufferedRanges = aMediaSeekableOnlyInBufferedRanges; } bool MediaDecoder::IsTransportSeekable() { Loading @@ -1297,13 +1291,6 @@ MediaDecoder::IsMediaSeekable() return mMediaSeekable; } bool MediaDecoder::IsMediaSeekableOnlyInBufferedRanges() { MOZ_ASSERT(NS_IsMainThread()); return mMediaSeekableOnlyInBufferedRanges; } media::TimeIntervals MediaDecoder::GetSeekable() { Loading @@ -1317,7 +1304,7 @@ MediaDecoder::GetSeekable() // We can seek in buffered range if the media is seekable. Also, we can seek // in unbuffered ranges if the transport level is seekable (local file or the // server supports range requests, etc.) or in cue-less WebMs if (IsMediaSeekableOnlyInBufferedRanges()) { if (mMediaSeekableOnlyInBufferedRanges) { return GetBuffered(); } else if (!IsMediaSeekable()) { return media::TimeIntervals(); Loading dom/media/MediaDecoder.h +2 −7 Original line number Diff line number Diff line Loading @@ -251,15 +251,9 @@ protected: void UpdateEstimatedMediaDuration(int64_t aDuration) override; public: // Set a flag indicating whether seeking is supported only in buffered ranges void SetMediaSeekableOnlyInBufferedRanges(bool aMediaSeekableOnlyInBufferedRanges); // Returns true if this media supports random seeking. False for example with // chained ogg files. bool IsMediaSeekable(); // Returns true if this media supports seeking only in buffered ranges. True // for example in WebMs with no cues bool IsMediaSeekableOnlyInBufferedRanges(); // Returns true if seeking is supported on a transport level (e.g. the server // supports range requests, we are playing a file, etc.). bool IsTransportSeekable(); Loading Loading @@ -768,7 +762,8 @@ protected: // back again. Canonical<int64_t> mDecoderPosition; // True if the media is only seekable within its buffered ranges. // True if the media is only seekable within its buffered ranges // like WebMs with no cues. Canonical<bool> mMediaSeekableOnlyInBufferedRanges; // True if the decoder is visible. Loading Loading
dom/media/MediaDecoder.cpp +2 −15 Original line number Diff line number Diff line Loading @@ -782,7 +782,7 @@ MediaDecoder::MetadataLoaded(nsAutoPtr<MediaInfo> aInfo, aInfo->HasAudio(), aInfo->HasVideo()); mMediaSeekable = aInfo->mMediaSeekable; SetMediaSeekableOnlyInBufferedRanges(aInfo->mMediaSeekableOnlyInBufferedRanges); mMediaSeekableOnlyInBufferedRanges = aInfo->mMediaSeekableOnlyInBufferedRanges; mInfo = aInfo.forget(); ConstructMediaTracks(); Loading Loading @@ -1276,12 +1276,6 @@ MediaDecoder::UpdateEstimatedMediaDuration(int64_t aDuration) mEstimatedDuration = Some(TimeUnit::FromMicroseconds(aDuration)); } void MediaDecoder::SetMediaSeekableOnlyInBufferedRanges(bool aMediaSeekableOnlyInBufferedRanges){ MOZ_ASSERT(NS_IsMainThread()); mMediaSeekableOnlyInBufferedRanges = aMediaSeekableOnlyInBufferedRanges; } bool MediaDecoder::IsTransportSeekable() { Loading @@ -1297,13 +1291,6 @@ MediaDecoder::IsMediaSeekable() return mMediaSeekable; } bool MediaDecoder::IsMediaSeekableOnlyInBufferedRanges() { MOZ_ASSERT(NS_IsMainThread()); return mMediaSeekableOnlyInBufferedRanges; } media::TimeIntervals MediaDecoder::GetSeekable() { Loading @@ -1317,7 +1304,7 @@ MediaDecoder::GetSeekable() // We can seek in buffered range if the media is seekable. Also, we can seek // in unbuffered ranges if the transport level is seekable (local file or the // server supports range requests, etc.) or in cue-less WebMs if (IsMediaSeekableOnlyInBufferedRanges()) { if (mMediaSeekableOnlyInBufferedRanges) { return GetBuffered(); } else if (!IsMediaSeekable()) { return media::TimeIntervals(); Loading
dom/media/MediaDecoder.h +2 −7 Original line number Diff line number Diff line Loading @@ -251,15 +251,9 @@ protected: void UpdateEstimatedMediaDuration(int64_t aDuration) override; public: // Set a flag indicating whether seeking is supported only in buffered ranges void SetMediaSeekableOnlyInBufferedRanges(bool aMediaSeekableOnlyInBufferedRanges); // Returns true if this media supports random seeking. False for example with // chained ogg files. bool IsMediaSeekable(); // Returns true if this media supports seeking only in buffered ranges. True // for example in WebMs with no cues bool IsMediaSeekableOnlyInBufferedRanges(); // Returns true if seeking is supported on a transport level (e.g. the server // supports range requests, we are playing a file, etc.). bool IsTransportSeekable(); Loading Loading @@ -768,7 +762,8 @@ protected: // back again. Canonical<int64_t> mDecoderPosition; // True if the media is only seekable within its buffered ranges. // True if the media is only seekable within its buffered ranges // like WebMs with no cues. Canonical<bool> mMediaSeekableOnlyInBufferedRanges; // True if the decoder is visible. Loading