diff --git a/content/html/content/src/HTMLMediaElement.cpp b/content/html/content/src/HTMLMediaElement.cpp
index 91f47a39d5eb..ed72a4045e0b 100755
--- a/content/html/content/src/HTMLMediaElement.cpp
+++ b/content/html/content/src/HTMLMediaElement.cpp
@@ -3942,7 +3942,9 @@ void HTMLMediaElement::UpdateAudioChannelPlayingState()
(!mPaused &&
(HasAttr(kNameSpaceID_None, nsGkAtoms::loop) ||
(mReadyState >= nsIDOMHTMLMediaElement::HAVE_CURRENT_DATA &&
- !IsPlaybackEnded()) ||
+ !IsPlaybackEnded() &&
+ !(mSrcStream && !(mSrcStream->GetTrackTypesAvailable() &
+ DOMMediaStream::HINT_CONTENTS_AUDIO))) ||
mPlayingThroughTheAudioChannelBeforeSeek));
if (playingThroughTheAudioChannel != mPlayingThroughTheAudioChannel) {
mPlayingThroughTheAudioChannel = playingThroughTheAudioChannel;
diff --git a/content/media/DOMMediaStream.h b/content/media/DOMMediaStream.h
index c5a82d4b12be..e59c31b40164 100644
--- a/content/media/DOMMediaStream.h
+++ b/content/media/DOMMediaStream.h
@@ -171,6 +171,8 @@ public:
TrackTypeHints GetHintContents() const { return mHintContents; }
void SetHintContents(TrackTypeHints aHintContents) { mHintContents = aHintContents; }
+ TrackTypeHints GetTrackTypesAvailable() const { return mTrackTypesAvailable; }
+
/**
* Create an nsDOMMediaStream whose underlying stream is a SourceMediaStream.
*/