Commit Graph

92 Commits

Author SHA1 Message Date
Ehsan Akhgari
b64a25fc13 Backed out changeset 0cdef46c65c1 (bug 979104) for causing bug 1024324 2014-06-13 16:20:37 -04:00
Karl Tomlinson
1e91de9fa8 b=1023697 change MediaDecoderStateMachine::mSyncPointInMediaStream from StreamTime to µs r=roc
This allows the conversion from StreamTime to be performed while a stream is
available.

--HG--
extra : transplant_source : %3A%AD%5C%1A%84%C3%1BC%8B%04%D5%5B%90%3Cv%BE%A6%D6%C0%9D
2014-06-12 16:44:56 +12:00
Chris Pearce
6efa8303c7 Bug 979104 - MediaDecoderReader/StateMachine asynchronous decoding. r=kinetik 2014-06-10 19:31:09 +12:00
Andrea Marchesini
eaa3ff4eed Bug 987064 - Remove AudioChannelType. r=roc, r=mchen, r=bent 2014-04-10 18:39:20 +01:00
Carsten "Tomcat" Book
d8cac0a0f4 Backed out changeset ac06eacc2206 (bug 987064) for B2G ICS Emulator Debug Bustage on a CLOSED TREE 2014-04-10 13:18:18 +02:00
Andrea Marchesini
e7f2c01a1a Bug 987064 - Remove AudioChannelType, r=roc, r=mchen, r=bent 2014-04-10 11:49:23 +01:00
Vasanthakumar Pandurangan
bf1ea57aff Bug 976172 - Part 1 Changes in MediaOmxDecoder to enable audio offloading r=roc
This adds support in MediaOmxDecoder to dynamically switch between
MediaDecoderStateMachine and AudioOffloadPlayer
2014-04-08 20:59:07 +05:30
Matthew Gregan
5979b051e5 Bug 927245 - Remove deprecated Audio Data API implementation. r=cajbir,smaug 2014-04-03 10:53:39 +13:00
Chris Pearce
e1cae995ac Bug 631058 - Don't preroll as many media samples when loading preload="metadata" media. r=cajbir 2014-04-01 16:43:57 +13:00
Chris Pearce
223e397746 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
05dcbf9506 Backed out changeset 00fa39c23b44 (bug 778077) for reftest failures 2014-03-28 12:31:29 +00:00
Chris Pearce
dac6ce38ba 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
e21145ad4a 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
fc3fc91d79 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
Eric Rahm
dbb0f24d7e Bug 962154 - Use MallocSizeOf to report decoded-video memory. r=cpearce,njn 2014-03-19 14:33:12 -07:00
Neil Rashbrook
c3b2f90f39 Bug 514280 Stop using nsCOMPtr for concrete types r=bsmedberg
--HG--
extra : rebase_source : f8fb50de9292320eb7589dd28dc566d0f5044da6
2014-03-18 00:23:03 +00:00
Wes Kocher
c0dba87922 Backed out 2 changesets (bug 514280) for OSX build bustage on a CLOSED TREE
Backed out changeset 2a015b45d808 (bug 514280)
Backed out changeset a01f97c1ed02 (bug 514280)
2014-03-17 15:19:53 -07:00
Neil Rashbrook
b07eaa1644 Bug 514280 Stop using nsCOMPtr for concrete types r=bsmedberg
--HG--
extra : rebase_source : eaca8b2925eaffb49e29a617cd72c0d6686e6d9e
2014-03-17 19:07:09 +00:00
Chris Pearce
deb182976e Bug 973408 - Don't block a decode thread while awaiting resources. r=kinetik 2014-03-11 11:44:09 +08:00
Matthew Gregan
87855800ef Bug 962353 - Remove totalFrameDelay from VideoPlaybackQuality. r=chris.double
It's not implemented by other vendors and marked as "at risk" in the spec.
Easy to add back if there's real demand/a concrete spec.
2014-03-04 15:31:57 +13:00
Ralph Giles
5080040b8e Bug 964559 - Remove MOZ_OGG. r=doublec,ted
We are unable to maintain all the --disable-foo build-time options
for the media code. Just support ogg unconditionally.
2014-02-20 18:01:00 -08:00
Ms2ger
6ffff19004 Bug 952033 - Part d: Use IntSize in MediaDecoder; r=roc 2014-02-09 09:04:38 +01:00
Ben Kelly
ea0bfbdf41 Bug 961441: Use MallocSizeOf to report decoded-audio memory. r=cpearce r=njn 2014-01-22 22:14:45 -05:00
Robert O'Callahan
f1d230f9a8 Bug 943461. Part 8: When a MediaDecoder is decoding to a stream, run PlaybackEnded when the stream finishes. r=padenot
--HG--
extra : rebase_source : 92c8b55c5d8330bcf8242d379bc608fa3d30bc6b
2013-12-07 01:01:33 +13:00
Robert O'Callahan
b55ef5ba0d Bug 938022. Part 6: Have MediaDecoder/MediaDecoderStateMachine that's producing a MediaStream use that stream's current time as the media clock. r=padenot
We monitor the stream's output current time via a new MediaStreamListener
owned by DecodedStreamData. We also track its main-thread Finished status.
While we're writing to a DecodedStreamData stream that hasn't finished its
output, we stay in the DECODER_STATE_COMPLETED state so we can keep updating
video and firing timeupdates.

GetClock() uses the DecodedStreamData stream's current time as the source for
the clock if there is one.

--HG--
extra : rebase_source : aba1d092d3d347e26ebd823d61fcbfa40a8cd1fe
2013-12-02 10:09:06 +13:00
Robert O'Callahan
96642f41df Bug 938022. Part 2: Block captured MediaStream when the MediaDecoderStateMachine is not playing. r=cpearce
--HG--
extra : rebase_source : 01d887b3b5917b7c51a286d61feb10e7b2426d9a
2013-11-23 22:48:24 +13:00
Nicholas Nethercote
77419f6a47 Bug 936964 (part 7, attempt 2) - Make lots of classes report their own memory consumption, instead of using a separate reporter class. r=mccr8,sr=bz.
* * *
Bug 936964 (part 7b) - Fix a use-after-free found by ASan.

--HG--
extra : rebase_source : d38ab6b63e9d576773baf8e55fa4f7182c33915e
2013-11-07 16:35:30 +11:00
Ehsan Akhgari
c3970a73fb Backed out 9 changesets (bug 943660, bug 936964) because of ASAN use-after-free crashes on browser-chrome and mochitest-other
Backed out changeset 85486c4aa3d8 (bug 936964)
Backed out changeset 25312eb71998 (bug 936964)
Backed out changeset 6dbb8333960c (bug 936964)
Backed out changeset da6465ad476f (bug 936964)
Backed out changeset a87ffc992f38 (bug 936964)
Backed out changeset 4ae3a61182db (bug 936964)
Backed out changeset 34e9c3137804 (bug 936964)
Backed out changeset fd1459e71585 (bug 936964)
Backed out changeset 3e8a701d8bdc (bug 943660)

Landed on a CLOSED TREE

--HG--
rename : content/canvas/src/WebGLMemoryTracker.h => content/canvas/src/WebGLMemoryReporterWrapper.h
2013-11-27 20:05:00 -05:00
Nicholas Nethercote
78e4d6490d Bug 936964 (part 7) - Make lots of classes report their own memory consumption, instead of using a separate reporter class. r=mccr8,sr=bz.
--HG--
rename : content/canvas/src/WebGLMemoryReporterWrapper.h => content/canvas/src/WebGLMemoryTracker.h
extra : rebase_source : 611e8d35907959b163aeced1c4ffe1d265048fe6
2013-11-07 16:35:30 +11:00
Vincent Chang
2c0c620b05 Bug 898864 - RTSP content process crash when press the play button at the end of video. r=sworkman 2013-11-20 11:08:10 +08:00
Matthew Gregan
6dcb5015db 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
102ba52e3d Back out 4fd2bf2ec8db (bug 939662) for Windows build bustage
CLOSED TREE
2013-11-18 21:34:48 -08:00
Matthew Gregan
f9db1edec7 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
f252e2fcc4 Bug 935857 - Replace MOZ_RTSP with proper NECKO_PROTOCOL handling. r=gps,r=vchang 2013-11-12 07:52:33 +09:00
Matthew Gregan
bf52a0e2d7 Bug 935349 - Remove remaining disabled DASH code. r=doublec 2013-11-07 17:08:42 +13:00
Benjamin Chen
a5637c000c Bug 831645 - part2, Rtsp media resource and decoder. r=roc, doublec, sworkman, khuey, gps 2013-09-23 17:53:36 +08:00
Matt Woodrow
9ad44524fe Bug 886219 - Force an invalidation when an async video finishes. r=nical 2013-10-02 16:05:34 +13:00
Chris Pearce
7fb506d1f8 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
Edwin Flores
05d42ab025 Bug 914479 - AudioToolbox MP3 backend on OSX r=cpearce 2013-09-14 13:14:42 +12:00
Chris Pearce
35eb41eb07 Bug 910897 - Use MP3FrameParser in DirectShow in order to calculate the duration. r=padenot 2013-09-10 12:45:33 +12:00
Ehsan Akhgari
143454cc1a Bug 912702 - Minimize the #includes in content/media; r=roc 2013-09-05 16:25:17 -04:00
Ehsan Akhgari
92ad73ef93 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
be1e68caf3 Bug 912702 - Minimize the #includes in content/media; r=roc 2013-09-04 17:58:14 -04:00
Robert O'Callahan
fdbaaa663c Bug 904926. Remove unnecessary lock. r=cpearce
--HG--
extra : rebase_source : 0088907b65ff3ce2e1f15b2bb1b5e0cdb7126f24
2013-09-04 23:13:06 +12:00
Sotaro Ikeda
92d4ca1287 Bug 905008 - Block bogus MetadataLoaded event. r=doublec 2013-08-26 12:11:58 -04:00
Gabriele Svelto
c8251ce6f3 Bug 907798 - Remove TimeStamp.h includes from source files that do not need it; r=ehsan 2013-08-24 08:12:51 +02:00
Ms2ger
944d17423c Revert this CLOSED TREE to changeset 4d3e221584a0. 2013-08-24 13:31:48 +02:00
Gabriele Svelto
1d1671942d Bug 907798 - Remove TimeStamp.h includes from source files that do not need it; r=ehsan 2013-08-24 08:12:51 +02:00
Thomas Zimmermann
029ae7c49e Bug 831224: Allow update of the media duration, r=padenot
With MP3 streams, the media duration might change after we received
new data. This patch adds infrastructure to signal the new duration
to the media decoder and state machine. It will also fire an event
of type 'durationchange' to the DOM.
2013-05-03 09:48:37 +02:00
Ed Morley
dd1504ab38 Backed out changeset 43953e9233a2 (bug 831224) 2013-08-08 09:59:49 -07:00