Bug 1245463: [MSE] P4. Remove dead code. r?gerald
MozReview-Commit-ID: Elnm0WPuqHC
--- a/dom/media/mediasource/TrackBuffersManager.cpp
+++ b/dom/media/mediasource/TrackBuffersManager.cpp
@@ -156,30 +156,22 @@ TrackBuffersManager::BufferAppend()
void
TrackBuffersManager::ResetParserState()
{
MOZ_ASSERT(NS_IsMainThread());
MOZ_RELEASE_ASSERT(!mAppendRunning, "Append is running, abort must have been called");
MSE_DEBUG("");
// 1. If the append state equals PARSING_MEDIA_SEGMENT and the input buffer contains some complete coded frames, then run the coded frame processing algorithm until all of these complete coded frames have been processed.
- if (mAppendState == AppendState::PARSING_MEDIA_SEGMENT) {
- nsCOMPtr<nsIRunnable> task =
- NS_NewRunnableMethod(this, &TrackBuffersManager::FinishCodedFrameProcessing);
- GetTaskQueue()->Dispatch(task.forget());
- } else {
- nsCOMPtr<nsIRunnable> task =
- NS_NewRunnableMethod(this, &TrackBuffersManager::CompleteResetParserState);
- GetTaskQueue()->Dispatch(task.forget());
- }
+ // SourceBuffer.abort() has ensured that all complete coded frames have been
+ // processed. As such, we don't need to check for the value of mAppendState.
+ nsCOMPtr<nsIRunnable> task =
+ NS_NewRunnableMethod(this, &TrackBuffersManager::CompleteResetParserState);
+ GetTaskQueue()->Dispatch(task.forget());
- // Our ResetParserState is really asynchronous, the current task has been
- // interrupted and will complete shortly (or has already completed).
- // We must however present to the main thread a stable, reset state.
- // So we run the following operation now in the main thread.
// 7. Set append state to WAITING_FOR_SEGMENT.
SetAppendState(AppendState::WAITING_FOR_SEGMENT);
}
RefPtr<TrackBuffersManager::RangeRemovalPromise>
TrackBuffersManager::RangeRemoval(TimeUnit aStart, TimeUnit aEnd)
{
MOZ_ASSERT(NS_IsMainThread());
@@ -308,34 +300,16 @@ TrackBuffersManager::Detach()
void
TrackBuffersManager::Dump(const char* aPath)
{
}
#endif
void
-TrackBuffersManager::FinishCodedFrameProcessing()
-{
- MOZ_ASSERT(OnTaskQueue());
-
- if (mProcessingRequest.Exists()) {
- NS_WARNING("Processing request pending");
- mProcessingRequest.Disconnect();
- }
- // The spec requires us to complete parsing synchronously any outstanding
- // frames in the current media segment. This can't be implemented in a way
- // that makes sense.
- // As such we simply completely ignore the result of any pending input buffer.
- // TODO: Link to W3C bug.
-
- CompleteResetParserState();
-}
-
-void
TrackBuffersManager::CompleteResetParserState()
{
MOZ_ASSERT(OnTaskQueue());
MOZ_RELEASE_ASSERT(!mAppendRunning);
MSE_DEBUG("");
for (auto& track : GetTracksList()) {
// 2. Unset the last decode timestamp on all track buffers.
--- a/dom/media/mediasource/TrackBuffersManager.h
+++ b/dom/media/mediasource/TrackBuffersManager.h
@@ -116,19 +116,17 @@ private:
void CreateDemuxerforMIMEType();
void ResetDemuxingState();
void NeedMoreData();
void RejectAppend(nsresult aRejectValue, const char* aName);
// Will return a promise that will be resolved once all frames of the current
// media segment have been processed.
RefPtr<CodedFrameProcessingPromise> CodedFrameProcessing();
void CompleteCodedFrameProcessing();
- // Called by ResetParserState. Complete parsing the input buffer for the
- // current media segment.
- void FinishCodedFrameProcessing();
+ // Called by ResetParserState.
void CompleteResetParserState();
RefPtr<RangeRemovalPromise>
CodedFrameRemovalWithPromise(media::TimeInterval aInterval);
bool CodedFrameRemoval(media::TimeInterval aInterval);
void SetAppendState(AppendState aAppendState);
bool HasVideo() const
{