(In reply to Alessandro Decina from comment #56)
> (In reply to Chris Pearce (:cpearce) from comment #54)
> > I built latest trunk on my Fedora box this morning with --enable-gstreamer,
> > and I still get the following test failure in
> > content/media/test/test_buffered.html:
> > 
> > TEST-UNEXPECTED-FAIL| unknown test url | owl.mp3: First range end should be
> > media end - got 3.368, expected 3.3698
> 
> I will look into this, but isn't the resolution we're checking a bit too
> high?

Some consumers of the audio content may rely on the duration being
accurate, like web apps using the decoded file via WebAudio or
MediaStreams API for example.


> Do all the backends report exactly that duration or is it just that
> the test written against a specific backend?

Hmm... The Windows Media Foundation backend is reporting a duration of
3.343673 or that file, and content/media/test/manifest.js lists its
duration as 3.29. :{

Anyway, the test that's failing is:
http://mxr.mozilla.org/mozilla-central/source/content/media/test/test_buffered.html?force=1#34

This is checking if video.buffered.end(0)==video.duration

I think you can make this test pass by changing GStreamerReader::GetBuffered() 
to cap the range end time to the media duration here:
http://mxr.mozilla.org/mozilla-central/source/content/media/gstreamer/GStreamerReader.cpp#601

I see that GStreamerReader::GetBuffered() is using
gst_element_query_convert()... Does gst_element_query_convert() just do
a byteoffset/length*duration estimation, or is it using some deeper
understanding of the stream in order to get more accurate byte-to-
timestamp mappings?

If gst_element_query_convert() is just doing an estimation, you could
just use GetEstimatedBufferedTimeRanges() [http://mxr.mozilla.org
/mozilla-central/source/content/media/VideoUtils.h#142] instead, it's
used in other backends already to estimate the buffered ranges, and caps
the end time of the buffered ranges to the duration.


> > I tested this, I removed by gstreamer plugins and
> > test_can_play_type_mpeg.html fails across the board.
> 
> Is it failing in the expected way?

Yep.


> Yes 3gpp was copied there from the list of codecs supported by GONK i think.
> I'll remove it.

Great, thanks!


> > And we should also refuse to play the file if either the audio or video
> > stream are present but of unsupported formats as well... Does our GStreamer
> > backend already do this?
> 
> Attachment #72711 [details] [diff] does this, although i'm not sure the
> behaviour is 100% right.

Thanks! I will test this patch's behaviour.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1051559

Title:
  Build Firefox with GStreamer support

To manage notifications about this bug go to:
https://bugs.launchpad.net/firefox/+bug/1051559/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to