Chen-tao / webm

Automatically exported from code.google.com/p/webm
0 stars 0 forks source link

Audio goes SILENT (drops out) seconds before end of WebM file playback in Windows Media Player 12 #541

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Play any WebM video file in Windows Media Player 12.0.7601.17514
2. Several seconds before the playback ends, sound (but not video) drops out
3. Playing that part of the video again, the sound NOW PLAYS through the end!

What is the expected output? What do you see instead?

Expect to hear sound through end of file's playback. Instead, seconds before 
the end, sound DROPS OUT! But when that portion of the file is played again, 
sound NOW PLAYS!

What version are you using? On what Windows version?

Windows Media Player version 12.0.7601.17514. Windows 7 Home Premium.

Please provide any additional information below.

Original issue reported on code.google.com by rking...@yahoo.com on 29 Jan 2013 at 3:35

GoogleCodeExporter commented 9 years ago

Original comment by jkoles...@google.com on 31 Jan 2013 at 9:47

GoogleCodeExporter commented 9 years ago
Are you using the DirectShow components, or the Media Foundation components?
Which version?

Original comment by matthewj...@google.com on 31 Jan 2013 at 10:17

GoogleCodeExporter commented 9 years ago
Media Foundation Components, version 1.0.0.0, installed 6-5-12.

Original comment by rking...@yahoo.com on 10 Mar 2013 at 5:26

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Matt can you please reproduce? otherwise we will need the original file 

Original comment by albe...@google.com on 28 Mar 2013 at 10:13

GoogleCodeExporter commented 9 years ago
This has happened to me with every webm download I've made. Can't believe it's 
never happened to you! Are you playing the webm file back in Windows Media 
Player 12?

Attached is a webm file of a 1944 Bing Crosby song. Runs 2:30. Just loaded it 
twice in Windows Player 12. Each time, seconds before the end, sound dropped 
out. And each time, when I reset the timeline to 2:20 and hit "play," it then 
played audio to the end.

Original comment by rking...@yahoo.com on 29 Mar 2013 at 3:39

Attachments:

GoogleCodeExporter commented 9 years ago
To Project Members: Will you please post a response when:

1) You confirm you've observed the bug, and

2) When you release a webm update that fixes it

Original comment by rking...@yahoo.com on 30 Mar 2013 at 6:49

GoogleCodeExporter commented 9 years ago
More than a month after I attached a file with the webm audio bug, no webm tech 
has anything to say?

Hello?

Anyone there? Can a webm tech please confirm you've seen the bug?

Original comment by rking...@yahoo.com on 5 May 2013 at 5:22

GoogleCodeExporter commented 9 years ago
Issue 581 has been merged into this issue.

Original comment by louquil...@google.com on 4 Jun 2013 at 6:43

GoogleCodeExporter commented 9 years ago
Thanks for this.

Can reproduce in WMP 12.x on Win7 home premium for the sample provided. Audio 
cuts out at ~02:27 of the 02:30 clip if played uninterrupted, though completes 
without issue if the user has scrubbed. Give priority in Q3.

Original comment by louquil...@google.com on 4 Jun 2013 at 7:31

GoogleCodeExporter commented 9 years ago
Thanks for confirming. For ease of viewing, I chose the shortest webm file I 
have. 

But you should know: I have 12. And all 12 do the same thing: on the first 
uninterrupted play, audio cuts out seconds before picture ends. When the 
timeline cursor is re-set prior to the end and the file is played a second 
time, audio plays through to the end. However, if WMP is closed, reopened and 
the webm file is reloaded & played uninterrupted, audio will AGAIN quit seconds 
before picture.

The submitted file isn't an exception. All 12 webm files do this.

Original comment by rking...@yahoo.com on 5 Jun 2013 at 1:43

GoogleCodeExporter commented 9 years ago
Ran WMP12 in the debugger.  Here are the EOS and EOF notifications:

WebmMfStream::SetEOS: pTrack->type=2; bEOS=false
WebmMfStream::SetEOS: pTrack->type=2; reporting EOS
WebmMfSource::OnRequestSample: EOS detected for stream type=2
WebmMfSource::NotifyEOS: !EOS on stream type=1
WebmMfStream::SetEOS: pTrack->type=1; bEOS=false
WebmMfStream::SetEOS: pTrack->type=1; reporting EOS
WebmMfSource::OnRequestSample: EOS detected for stream type=1
WebmMfSource::NotifyEOS: reporting EOF

The audio EOS gets reported near the end of the presentation, then there's a 
slight delay, then video EOS is reported, and immediately thereafter EOF.

This might be an artifact of WMP audio buffering.

Original comment by matthewj...@google.com on 5 Jun 2013 at 11:40

GoogleCodeExporter commented 9 years ago
I see a few single-byte audio frames towards the end of the audio stream.  I 
wonder if that's throwing off the timing?

Original comment by matthewj...@google.com on 6 Jun 2013 at 12:58

GoogleCodeExporter commented 9 years ago
No updates since June 5, 2013?

You don't think this is serious enough to fix? That your format drops sound 
when played in one of the most popular players?

Original comment by rking...@yahoo.com on 15 Aug 2013 at 2:17

GoogleCodeExporter commented 9 years ago
I spent some time today looking into this.  As far as I can tell, all of the 
frames are being delivered to the stream, and with the correct time-stamps.  
The EOS notification for each stream is delivered (the notification for audio 
slightly ahead of video).  Both EOS notifications are delivered within the last 
few seconds of the presentation, and when the last (here, for video) EOS 
notification is delivered, we also post the notification of the EOF event.  
That's when the audio gets cut off.

I suspect that what's happening is that WMP is using the audio stream as the 
clock.  When the EOS for audio is delivered, the clock doesn't know how to 
handle the video frames that continue to arrive after that event, so when the 
video EOS and final EOF events are delivered, the presentation is shut down 
immediately by WMP.

There might some things we can do.  One possibility is to defer delivery of the 
EOS notification for audio until after the EOS notification for video has been 
delivered.  This might keep the clock running, such that the presentation isn't 
shutdown prematurely.

Original comment by matthewj...@chromium.org on 7 Sep 2013 at 1:00

GoogleCodeExporter commented 9 years ago
Thanks for keeping at it. I prefer webm picture quality to flv. But I download 
in flv to avoid sound dropouts. 

RealPlayer plays flv but not webm. There are no sound dropouts when flv plays 
in RealPlayer.

WMP plays webm but not flv. But webm DROPS SOUND in WMP, my favorite player. So 
I'm stuck downloading in flv (when I'd prefer webm) and stuck using RealPlayer 
(when I'd prefer WMP, which can't play flv!)

To refresh: In the attached webm file (Crosby's "Swingin' On A Star" above), 
the file is 2:30 and (when first run in WMP) sound STOPS at 2:26, a full FOUR 
seconds before end of play. Music has a natural fade, but still, FOUR seconds 
without sound is no small thing! (Even though re-setting the timeline cursor to 
2:20 and playing a second time gets sound to the end, when you close and 
re-open the player and reload the song, the sound drop-out RECURS on the first 
play!)

WMP is a popular player. Please don't quit till you have a patch for this bug!

Original comment by rking...@yahoo.com on 7 Sep 2013 at 10:48

GoogleCodeExporter commented 9 years ago
I tried delaying the sending of the EndOfStream event to the pipeline, until 
just before posting the EndOfPresentation event, such that the EOS events for 
the audio and video streams go out together.  However, this didn't solve the 
problem, and the audio cuts out around 3 sec before the presentation ends.  We 
should have audio up to around 149.5 sec.  

That's just the source filter, though.  Perhaps there's an issue with the audio 
decoder filter.

Original comment by matthewj...@chromium.org on 7 Sep 2013 at 10:50

GoogleCodeExporter commented 9 years ago
The timestamp of the final audio sample sent downstream by the vorbis decoder 
has a timestamp of  146.8 sec, which means 3 sec of audio is being lost.  Will 
investigate.

[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessOutput] OUT start_time=145.745
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessOutput] OUT duration=0.25
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessOutput] OUT start_time=145.995
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessOutput] OUT duration=0.25
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessOutput] OUT start_time=146.245
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessOutput] OUT duration=0.25
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessOutput] OUT start_time=146.495
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessOutput] OUT duration=0.25
NotifyNextCluster: time[sec]=150.426
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessOutput] OUT start_time=146.745
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessOutput] OUT duration=0.25
WebmMfStream::SetEOS: pTrack->type=2; bEOS=false
WebmMfSource::OnRequestSample: EOS detected for stream type=2
WebmMfSource::NotifyEOS: !EOS on stream type=1
WebmMfStream::SetEOS: pTrack->type=1; bEOS=false
WebmMfSource::OnRequestSample: EOS detected for stream type=1
WebmMfSource::NotifyEOS: Posting EOS Events
WebmMfStream::SetEOS: pTrack->type=1; reporting EOS
WebmMfStream::SetEOS: pTrack->type=2; reporting EOS
WebmMfSource::NotifyEOS: reporting EOF
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessMessage] MFT_MESSAGE_COMMAND_DRAIN
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessMessage] MFT_MESSAGE_COMMAND_FLUSH
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessMessage] MFT_MESSAGE_COMMAND_FLUSH
The thread 'Win32 Thread' (0x4c50) has exited with code 0 (0x0).
WebmMfSource::Stop (begin)
WebmMfSource::OnCommand (begin): cmds.size=2 cmd.back.kind=4
WebmMfSource::Command::OnStop
MkvReader::Seek: called pStream->Seek; hr=0x0; pos=0; curr_pos=0
WebmMfSource::OnCommand (end): cmds.size=1 cancel=true
[WebmMfVorbisDecLib::WebmMfVorbisDec::ProcessMessage] MFT_MESSAGE_COMMAND_FLUSH

Original comment by matthewj...@google.com on 11 Sep 2013 at 1:54

GoogleCodeExporter commented 9 years ago

Original comment by matthewj...@google.com on 11 Sep 2013 at 10:00

GoogleCodeExporter commented 9 years ago
We'll fold this change into the next release.

Original comment by matthewj...@google.com on 11 Sep 2013 at 11:04

GoogleCodeExporter commented 9 years ago
Great news!

When the next release is ready for download, can you please post that here? I 
get email alerts when you post. Would love to update my copy as soon as 
possible.

Also, would love to post here as soon as I try the update with my webm files. 
If it works, I'll make a final post here to confirm the problem's solved.

Original comment by rking...@yahoo.com on 12 Sep 2013 at 10:13

GoogleCodeExporter commented 9 years ago
This change was incorporated into the 2013/10/26 release (v1.02).  Let us know 
whether this solves the problem.

Original comment by matthewj...@google.com on 13 Feb 2014 at 8:12

GoogleCodeExporter commented 9 years ago
i installed direct show. now i can play webm files using media player but there 
is problem with audio. i can't hear audio? pleas tell me how to solve this 
issue?

Original comment by sanaulla...@gmail.com on 28 Aug 2014 at 6:50

GoogleCodeExporter commented 9 years ago
Hi Matthew,

Original Poster here. A little late, but the 10-26-2013 release solved my 
problem.

Thanks.

Original comment by rking...@yahoo.com on 28 Aug 2014 at 2:45