Commit Graph

330 Commits

Author SHA1 Message Date
Chris Pearce
a8e52798ff Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir
Implement HTMLMediaElement.fastSeek(), basically by changing all the
MediaDecoderReader::Seek() overrides to not call
MediaDecoderReader::DecodeToTarget(), and have MediaDecoderReader::DecodeSeek()
call DecodeToTarget() if we're doing an accurate (non-fast) seek.

Update gizmo.mp4 to have a keyframe every second, instead of only 1 keyframe at
the start of stream. This makes the unit test I added more useful for mp4...

I pushed most of the seek target clamping logic in MediaDecoder up into
HTMLMediaElement, so that we're clamping in fewer places. Note
MediaDecoderStateMachine::Seek() still sanity checks the seek target.

We have to update the currentTime/MediaDecoder playback position after a seek
completes now, rather than assuming the seek always got it exactly right.

Removed those pesky assertions about seek target lying in the first frame after
seek, since actually sometimes the media doesn't have samples for all streams
after a seek (either due to the media being encoded like that, or because of a
bug in the platform's decoder, not entirely sure).

Green: https://tbpl.mozilla.org/?tree=Try&rev=b028258565e2
* * *
Bug 778077 - Fix up MediaOMXReader fastseek to ensure audio stream stays in sync with video stream. r=cajbir
2014-04-01 16:39:04 +13:00
Ed Morley
9d7a5cff30 Backed out changeset 00fa39c23b44 (bug 778077) for reftest failures 2014-03-28 12:31:29 +00:00
Chris Pearce
c9cd61eb5d Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir
Implement HTMLMediaElement.fastSeek(), basically by changing all the
MediaDecoderReader::Seek() overrides to not call
MediaDecoderReader::DecodeToTarget(), and have MediaDecoderReader::DecodeSeek()
call DecodeToTarget() if we're doing an accurate (non-fast) seek.

Update gizmo.mp4 to have a keyframe every second, instead of only 1 keyframe at
the start of stream. This makes the unit test I added more useful for mp4...

I pushed most of the seek target clamping logic in MediaDecoder up into
HTMLMediaElement, so that we're clamping in fewer places. Note
MediaDecoderStateMachine::Seek() still sanity checks the seek target.

We have to update the currentTime/MediaDecoder playback position after a seek
completes now, rather than assuming the seek always got it exactly right.

Removed those pesky assertions about seek target lying in the first frame after
seek, since actually sometimes the media doesn't have samples for all streams
after a seek (either due to the media being encoded like that, or because of a
bug in the platform's decoder, not entirely sure).

Green: https://tbpl.mozilla.org/?tree=Try&rev=b028258565e2
2014-03-28 22:36:10 +13:00
Phil Ringnalda
1a6280a756 Backed out 2 changesets (bug 778077, bug 631058)
CLOSED TREE

Backed out changeset dda301682977 (bug 631058)
Backed out changeset 25b633e7dcd5 (bug 778077)
2014-03-27 21:50:02 -07:00
Chris Pearce
b26d467d58 Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir
Implement HTMLMediaElement.fastSeek(), basically by changing all the
MediaDecoderReader::Seek() overrides to not call
MediaDecoderReader::DecodeToTarget(), and have MediaDecoderReader::DecodeSeek()
call DecodeToTarget() if we're doing an accurate (non-fast) seek.

Update gizmo.mp4 to have a keyframe every second, instead of only 1 keyframe at
the start of stream. This makes the unit test I added more useful for mp4...

I pushed most of the seek target clamping logic in MediaDecoder up into
HTMLMediaElement, so that we're clamping in fewer places. Note
MediaDecoderStateMachine::Seek() still sanity checks the seek target.

We have to update the currentTime/MediaDecoder playback position after a seek
completes now, rather than assuming the seek always got it exactly right.

Removed those pesky assertions about seek target lying in the first frame after
seek, since actually sometimes the media doesn't have samples for all streams
after a seek (either due to the media being encoded like that, or because of a
bug in the platform's decoder, not entirely sure).

Green: https://tbpl.mozilla.org/?tree=Try&rev=b028258565e2
2014-03-28 15:50:28 +13:00
Nathan Froyd
5f69aa4f0e Bug 981966 - fix OggWriter memory leak; r=kinetik,f=mccr8 2014-03-11 14:17:02 -04:00
L. David Baron
dfb9ad9186 Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
Alfredo Yang
5cdd45c736 Bug 974322 - Separate AAV/AVC codec name. r=cpearce 2014-02-24 09:19:21 -05:00
Ryan VanderMeulen
a10b7b8317 Bug 951288 - Use NS_WARN_IF_FALSE rather than NS_WARNING to fix bustage and reopen the CLOSED TREE. 2014-02-20 16:28:10 -05:00
Ryan VanderMeulen
5a8f7d120a Bug 951288 - Convert assertion to a warning to hide intermittent test failures. r=cpearce 2014-02-20 15:52:57 -05:00
Ms2ger
176399514a Bug 952033 - Part c: Use IntSize and IntRect in VideoData; r=roc 2014-02-09 09:04:38 +01:00
Ben Kelly
1f1ea86463 Bug 960873: Part 1: Refactor MediaDecoderReader.h into separate headers. r=cpearce 2014-02-03 20:49:21 -05:00
Randy Lin
d2ab1b4eaf Bug 879669 - Part 2: Let Encoder can support various mimeType. r=roc 2013-12-10 15:24:51 +08:00
Alexandros Chronopoulos
abe5d773d2 Bug 911482 - Perform audio downmix inside AudioStream class. r=rillian 2013-09-26 22:06:59 +03:00
Mike Hommey
0f52679a01 Bug 945532 - Add missing includes in OpusParser.h. r=kinetik 2013-12-03 12:30:47 +09:00
Mike Hommey
a0b89ce4c8 Bug 945532 - Kill LE* functions in OggCodecState.cpp and use Endian.h functions instead. r=kinetik 2013-12-03 12:30:45 +09:00
Ralph Giles
c489b1733e Bug 938686 - Fix a signed-comparison warning. r=BUSTAGE CLOSED TREE 2013-12-02 16:25:22 -08:00
Jan Gerber
ee37b948a6 Bug 938686 - Refactor Opus header parsing so it can be reused. r=kinetik
We want to be able to use the same header parser for both the WebM
and Ogg readers.
2013-11-22 14:06:00 -08:00
Jan Gerber
be66adb68a Bug 938686 - Make OggReader::DownmixToStereo public static. r=rillian
We want this to be available to the WebM reader as well.
2013-11-14 10:16:00 -08:00
Randy Lin
98ffdc3b08 Bug 935774 - "Assertion failure: meta" in mozilla::MediaEncoder::GetEncodedData. r=roc 2013-11-25 12:57:52 +13:00
Matthew Gregan
aca39c9f09 Bug 939662 - Remove "using namespace mozilla::dom;" from MediaDecoder.h and fix fallout. r=cpearce 2013-11-18 17:22:47 +13:00
Phil Ringnalda
aa4f4a9e99 Back out 4fd2bf2ec8db (bug 939662) for Windows build bustage
CLOSED TREE
2013-11-18 21:34:48 -08:00
Matthew Gregan
fdcb4e1cac Bug 939662 - Remove "using namespace mozilla::dom;" from MediaDecoder.h and fix fallout. r=cpearce
--HG--
extra : rebase_source : 922db8de8e9103e3001c26f23ed7402efa8237f5
2013-11-18 17:22:47 +13:00
Mike Hommey
931cb49886 Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey
db9e5129bc Bug 939074 - Remove most LIBXUL_LIBRARY. rs=gps 2013-11-19 11:48:10 +09:00
Mike Hommey
f0d1cd1e10 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
f81885e53b Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Ehsan Akhgari
58e806c093 Bug 939584 - Build some of the directories under content/media in unified mode; r=roc 2013-11-17 21:31:46 -05:00
Randy Lin
8c781612a7 Bug 936352 - Media Recording - Fix wrong pointer usage in encoder module from Bug 919905. r=roc 2013-11-10 06:30:01 +08:00
Randy Lin
314a2ff822 Bug 919905 - Media Recording - Refactor encoder architecture to support the video encoder module. r=roc, r=cjku 2013-10-25 10:59:52 +08:00
Chris Pearce
3f98cc2f01 Bug 930829 - Add MediaData class as base for VideoData and AudioData to simplify writing a generic stream decoder. r=kinetik 2013-10-25 15:44:58 +13:00
Mike Hommey
f1c0c07862 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Birunthan Mohanathas
3560f05e45 Bug 784739 - Switch from NULL to nullptr in content/; r=ehsan
--HG--
extra : rebase_source : 9237726507e8002479616a98a82646a763932507
2013-10-23 16:34:10 -04:00
Daniel Holbert
dd13b39bb8 Bug 929430 part 2: Wrap OggReader.cpp's opus-specific variables and their usages in #ifdef MOZ_OPUS. r=rillian 2013-10-23 08:21:04 +02:00
Daniel Holbert
03ce688a2b Bug 929430 part 1: Wrap OggReader.cpp's opus-specific function calls in #ifdef MOZ_OPUS, so that it can build successfully with --disable-opus. r=rillian 2013-10-23 08:21:02 +02:00
Daniel Holbert
8a18f264d5 Bug 929404: Mark unused-depending-on-build-config function as 'inline' instead of 'static'. r=derf 2013-10-23 08:20:54 +02:00
Chris Pearce
9b05726bb3 Bug 928765 - Create MediaDecoderReader::GetBuffered() base implementation that estimates buffered ranges, so that subclasses do have to keep reimplementing the estimation. r=doublec 2013-10-21 16:31:05 +13:00
Matthew Gregan
8d51f7a552 Bug 920867 - Split VideoInfo into Video and Audio objects, then encapsulate in new MediaInfo object. r=cpearce 2013-09-27 17:22:38 +12:00
Chris Pearce
499a20ae5f Bug 915957 - Move MediaDecoder::NotifyBytesConsumed() calls into MediaResource, so we don't need to remember to do them in all decoder backends. r=kinetik 2013-09-18 15:37:23 +12:00
Chris Pearce
5f3cb23252 Bug 915958 - Automatically Finish() MediaQueues, so that each backend doesn't need to remember to do it. r=edwin 2013-09-13 14:33:54 +12:00
Ehsan Akhgari
3b48889d78 Bug 912702 - Minimize the #includes in content/media; r=roc 2013-09-05 16:25:17 -04:00
Ehsan Akhgari
22fac42fb0 Backed out changeset 2f15518f566e (bug 912702) because of B2G JB Emulator build bustage
--HG--
extra : rebase_source : 6c01ad3bc2f91b0e7e3edab84aedbfe064310a8b
2013-09-05 13:29:38 -04:00
Ehsan Akhgari
2ce2ec0cdb Bug 912702 - Minimize the #includes in content/media; r=roc 2013-09-04 17:58:14 -04:00
Robert O'Callahan
8ca63f18ef Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Ms2ger
fa65b962f6 Bug 883284 - Part b: Move LIBXUL_LIBRARY into moz.build (a-c); r=joey 2013-08-22 08:55:59 +02:00
Ms2ger
66214743ad Bug 882859 - Part b: Move FAIL_ON_WARNINGS into moz.build; r=joey+gps 2013-08-22 08:55:59 +02:00
Shelly Lin
5b02846740 Bug 896980 - Add error handlings if fail to init track encoder or container writer. r=roc 2013-08-06 18:53:07 +08:00
Ehsan Akhgari
3717325909 Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted 2013-07-30 10:25:31 -04:00
Chris Pearce
50e8d08a10 Bug 846769 - OggReader::SeekBisection() should use granule end times, not start times. r=rillian 2013-07-29 10:03:21 +12:00
Chris Pearce
89003737e2 Bug 846769 - Mark Ogg frames with MediaResource offset, instead of (incorrectly) trying to infer and then use the offset of pages. r=rillian 2013-07-29 10:03:06 +12:00