Commit Graph

198 Commits

Author SHA1 Message Date
Ehsan Akhgari
4e69f36cf8 Bug 983014 - Move the rest of the -I build flags that stayed in Makefiles because of ANDROID_SOURCE to moz.build; r=mshal 2014-03-13 19:31:18 -04:00
Ehsan Akhgari
1331dd3e3e Bug 981290 - Rewrite content/media/omx/Makefile.in in moz.build; r=mshal
--HG--
extra : rebase_source : 168efa0f67252197ef259bb575771b1e87eb98e5
2014-03-10 20:12:37 -04:00
Chris Pearce
5e594c8460 Bug 973408 - Set MediaDecoderReaders idle when they're not decoding. r=kinetik 2014-03-11 11:44:10 +08: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
Chris Pearce
9c847a29a5 Bug 973408 - Remove MediaDecoderStateMachine::GetAmpleVideoFrames(), and MediaOMXStateMachine. r=kinetik 2014-03-11 11:44:08 +08:00
Sotaro Ikeda
3ba8189c4e Bug 977596 - Fix build failure on flatfish r=jmuizelaar 2014-02-27 13:26:22 -08:00
Sotaro Ikeda
94c74f3ae6 Bug 957323 - Handle android's fence on gonk r=nical,doublec,pchang 2014-02-24 20:23:41 -08:00
John Lin
40c08c6ab3 Bug 963458 - Change AVC/H.264 encoder configuration for B2G emulator. r=roc 2014-02-18 08:50:08 -05:00
Benjamin Chen
95ef85263f Bug 964209 - [RTSP] Implement flags() function and set mExtractor to fix content process crash. r=sworkman 2014-02-07 15:46:26 +08:00
Ms2ger
f79d93ff0a Bug 952033 - Part c: Use IntSize and IntRect in VideoData; r=roc 2014-02-09 09:04:38 +01:00
Ben Kelly
c99c02ad87 Bug 960873: Part 4: Make OMX use AudioCompactor. r=cpearce 2014-02-05 18:11:25 -05:00
Phil Ringnalda
fe6c4959d1 Backed out 6 changesets (bug 960873) for Win64 build bustage
Backed out changeset 33d8989841ac (bug 960873)
Backed out changeset 6c9e404aeb3f (bug 960873)
Backed out changeset 36c8b10b0a31 (bug 960873)
Backed out changeset 29c36a7acfb0 (bug 960873)
Backed out changeset 6e3966e0eb40 (bug 960873)
Backed out changeset 612db692256b (bug 960873)
2014-02-05 09:28:14 -08:00
Ben Kelly
feeda676db Bug 960873: Part 4: Make OMX use AudioCompactor. r=cpearce 2014-02-04 23:10:43 -05:00
Ben Kelly
1b1cb3004d Bug 960873: Part 1: Refactor MediaDecoderReader.h into separate headers. r=cpearce 2014-02-03 20:49:21 -05:00
Benoit Jacob
e6d46b061f Bug 962784 - Convert ImageTypes.h to typed enums - r=jrmuizel
find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | grep -v 'gfx/layers/ImageTypes.h' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(GRALLOC_PLANAR_YCBCR\|PLANAR_YCBCR\|SHARED_RGB\|CAIRO_SURFACE\|MAC_IOSURFACE\|REMOTE_IMAGE_BITMAP\|SHARED_TEXTURE\|REMOTE_IMAGE_DXGI_TEXTURE\|D3D9_RGB32_TEXTURE\)\($\|[^A-Za-z0-9_]\)/\1ImageFormat::\2\3/g'

find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | grep -v 'gfx/layers/ImageTypes.h' | xargs sed -i 's|ImageFormat\:\:ImageFormat|ImageFormat|g'

find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)STEREO_MODE_\(MONO\|LEFT_RIGHT\|RIGHT_LEFT\|BOTTOM_TOP\|TOP_BOTTOM\)\($\|[^A-Za-z0-9_]\)/\1StereoMode::\2\3/g'

find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | grep -v 'gfx/layers/ImageTypes.h' | xargs sed -i 's|StereoMode\:\:StereoMode|StereoMode|g'
2014-01-30 17:58:49 -05:00
John Lin
7ad42feef2 Bug 963502 - [MediaEncoder] OMXAudioEncoder will be out of input buffers if input segment is too big. r=roc 2014-01-29 08:20:55 -05:00
Alfredo Yang
165fa60246 Bug 959861 - Check if the media is seekable in MediaOmxReader::ReadMetadata(). r=cdouble 2014-01-22 10:50:23 -05:00
JW Wang
3eb023a6e9 Bug 916135 - Part 2: Don't call OMXCodec::pause in emulator mode to prevent getting stuck in paused state of OMXCodec. r=cdouble 2013-12-16 16:30:59 +08:00
Sotaro Ikeda
3393c67ef8 Bug 961405 - Change GraphicBufferLocked as to use AtomicRefCountedWithFinalize. r=nical, r=pchang, r=doublec, r=mikeh 2014-01-21 13:53:48 -05:00
John Lin
131af2cba3 Bug 879668 - Part 3: Add OMXCodecWrapper. r=roc 2014-01-17 14:29:41 -05:00
John Lin
0c9c43ba7d Bug 879668 - Part 2: Add utility function to convert codec data from OMX AVC/H.264 encoder for MP4 container writer. r=roc 2014-01-17 14:29:20 -05:00
Edwin Flores
ce0275a3fa Bug 945864 - Remove buggy MediaOmxReader::GetBuffered method override r=cpearce 2014-01-14 12:38:40 +13:00
Ryan VanderMeulen
e32c558ef6 Backed out changesets 7e3a322f9fd6, 91749b627a04, and 69bf31cfafa1 (bug 916135) for Android mochitest failures. 2014-01-07 11:15:00 -05:00
Sotaro Ikeda
3cb814fbb6 Bug 948005 - Release reasources in MediaOmxReader's destructor. r=doublec 2014-01-07 09:44:02 -05:00
JW Wang
add36c053b Bug 916135 - Part 2: Don't call OMXCodec::pause in emulator mode to prevent getting stuck in paused state of OMXCodec. r=doublec 2013-12-16 16:30:59 +08:00
Ms2ger
9b8e245bf9 Bug 950143 - Remove the implicit conversion operator from nsIntSize to IntSize; r=roc 2013-12-31 10:06:12 +01:00
Bruce Sun
f2ddb3802a Bug 947113 - Sync RTSP play & pause with the life time of the decoding thread. r=doublec 2013-12-12 11:21:04 +08:00
Thomas Zimmermann
0c1b4a5df0 Bug 947905: Release OmxDecoder on main thread
OmxDecoder refers to MediaResource, which must be released on
the main thread. This patch changes the MP3 parser logic to send
a runnable to the main thread for releasing OmxDecoder.
2013-12-12 09:57:56 +01:00
Ethan Tseng
aa913d7243 Bug 938512 - HTMLMediaElement does not fire loadedmetadata. r=sworkman 2013-11-26 17:25:40 +08:00
Sotaro Ikeda
985e08eeb9 Bug 941789 - Protect binderDied() by mutex. r=doublec
--HG--
extra : rebase_source : 9538d1cbc107f597ccc3237fce8da26040707ce6
2013-12-04 17:44:36 -05:00
Sotaro Ikeda
9c774494a5 Bug 941274 - Fix ResetDecode in MediaOmxReader. r=doublec 2013-12-02 22:38:16 -05:00
Sotaro Ikeda
b1a733db60 Bug 939654 - Remove unnecessary wait from instantiating MediaResourceManagerService. r=mwu 2013-11-21 16:03:27 -05: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
Mike Hommey
a65383e1e9 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
8ceb917350 Bug 939074 - Remove most LIBXUL_LIBRARY. rs=gps 2013-11-19 11:48:10 +09:00
Mike Hommey
bb6779efe3 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
57a2dfcb91 Bug 939039 - Remove now useless FORCE_STATIC_LIB definitions. r=gps 2013-11-19 11:47:28 +09:00
Mike Hommey
d7b6f95761 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
John Lin
51b3bae2a3 Bug 911046 - Part 4: Add external H.264 HW video codec implementation for B2G. r=jesup 2014-04-21 23:42:00 +02:00
John Lin
38a54732d4 Bug 911046 - Part 3: Add support to WebRTC in OMXCodecWrapper. r=jesup 2014-04-21 23:41:00 +02: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
Ms2ger
af09204569 Bug 931404 - Move LOCAL_INCLUDES to moz.build in content/; r=gps 2013-11-11 09:04:06 +01:00
Sotaro Ikeda
77684a0250 Bug 929005 - Change from android::Vector to android::List. r=doublec 2013-11-08 09:09:46 -05:00
Bruce Sun
83d544a289 Bug 933091 - Re-enable MP3FrameParser to parse MP3 duration. r=sotaro, r=doublec 2013-11-01 11:02:53 +08:00
Sotaro Ikeda
f6ac96b7d3 Bug 932076 - Add check for MediaExtractor creation failure. r=doublec 2013-10-30 15:41:07 -04:00
Cykesiopka
a3710e5c11 Bug 914270 - Part 1: Simple/Automated moves. r=joey 2013-10-24 18:51:00 +01:00
Chris Pearce
2744117b84 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
1d566f7586 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Brian O'Keefe
4c98f61956 Bug 928709 - Convert chromium-config.mk to mozbuild, r=mshal 2013-10-02 13:17:55 -04:00
Mike Hommey
e2ae65f67a Bug 913268 - Make CPP_SOURCES a StrictOrderingOnAppendList. r=mshal 2013-10-24 08:00:23 +09:00
Birunthan Mohanathas
872802570b Bug 784739 - Switch from NULL to nullptr in content/; r=ehsan
--HG--
extra : rebase_source : 9237726507e8002479616a98a82646a763932507
2013-10-23 16:34:10 -04:00
Carsten "Tomcat" Book
ba4b28bb05 Merge mozilla-central to mozilla-inbound 2013-10-18 14:13:10 +02:00
Peter Chang
4290a36c9a Bug 922510 - Extend GonkNativeWindow to support android JB 4.2.2, r=sotaro,gps 2013-10-18 10:42:43 +08:00
Sotaro Ikeda
1181e71e7f Bug 925381 - Fix mpeg4 video seek failure. r=nical, r=doublec 2013-10-17 11:09:15 -04: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
Benjamin Chen
9d77c4acf5 Bug 831645 - Part1, Add Rtsp protocol and streaming protocol interface. r=jduell.mcbugs, sworkman 2013-09-23 18:12:11 +08:00
Sotaro Ikeda
ac7b9a7971 Bug 923848 - Reuse mp3 file format check result. r=doublec 2013-10-14 07:37:09 -04:00
Thomas Zimmermann
7c4b5403fb Bug 924678: Stop MP3 parser if decoder got cleared, r=doublec
If the decoder has been cleaned up, there is no point in further
parsing the MP3 file. This patch makes the I/O logic stop in that
case.

The patch also fixes a bug where the beginning of an MP3 chunk was
parsed multiple times if the chunk is larger than 4 GiB.

--HG--
extra : rebase_source : d247ed3995991d362c51a0666274e9de3b90b7d2
2013-10-14 10:38:48 +02:00
Thomas Zimmermann
112777cbb8 Bug 924678: Explicitly clear OmxDecoder::mDecoder, r=doublec
The MediaDecoderStateMachine frees the Decoder during its own
shutdown. If the the MediaDecoderStateMachine for an MP3 file
gets cleaned up before the MP3 frame parser is finished, the
OmxDecoder operates with an invalid Decoder.

With this patch, the MediaDecoderStateMachine informs the
OmxDecoder to clear the decoder field. The MP3 parser logic
detects this case and returns.

--HG--
extra : rebase_source : 0a00de3cf7b95ede77408e5d43cccbcd706750cd
2013-10-14 10:38:17 +02:00
Sotaro Ikeda
0ff2ce37ce Bug 922334 - Add zero division check and prevent unncecessary mp3 parsing r=doublec 2013-10-03 10:53:21 +02:00
Sotaro Ikeda
bdb3259801 Bug 914870 - Reduce mp3 parse chunk buffer size to 32KiB. r=doublec 2013-10-01 08:06:57 -04:00
Matthew Gregan
e1f44d3688 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
6745dba042 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
Sotaro Ikeda
6d1f3b58c5 Bug 871364 - Support GonkNativeWindow on gonk-JB r=jmuizelaar,mwu,doublec,mikeh,glandium 2013-09-12 11:40:26 +02: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
Chris Pearce
ddd2cfddd7 Bug 910966 - Use MP3FrameParser in DirectShow's SourceFilter, to more accurately determine the offset of the first MP3 frame. This enables us to only pass the MP3 data into DirectShow, which can't handle large ID3v2 tags. r=padenot 2013-09-09 09:47:54 +12:00
Chris Pearce
82fc0dde57 Bug 910996 - Move MP3FrameParser out of B2G specific code, so it can be used on other platforms. r=padenot
--HG--
rename : content/media/omx/MP3FrameParser.cpp => content/media/MP3FrameParser.cpp
rename : content/media/omx/MP3FrameParser.h => content/media/MP3FrameParser.h
2013-09-09 09:47:29 +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
Mike Hommey
f1cf3b4238 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Brian O'Keefe
4f68eb9b02 Bug 875934 - Move LIBRARY_NAME to moz.build, batch 3; r=mshal 2013-08-15 09:02:09 -04:00
Ms2ger
2d7391b50d Bug 883284 - Part b: Move LIBXUL_LIBRARY into moz.build (a-c); r=joey 2013-08-22 08:55:59 +02:00
Thomas Zimmermann
a0bcc67e59 Bug 831224: Use multi-threaded I/O for reading and processing MP3 frames, r=padenot
Reading large MP3 files from a slow medium, such as an SD card, takes
several seconds. This is too long for interactive applications like the
music app.

With this patch, the OmxDecoder reads large MP3 file in smaller chunks
and hands over each chunk individually to the MP3 parser. Reading the
file is done in the I/O thread, which is allowed to block, parsing is
done on the main thread.

The current chunk size is 8 MiB, which is small enough to not cause any
delay.
2013-05-06 20:07:29 +02:00
Thomas Zimmermann
79d1b1351b Bug 831224: Parse MP3 frame headers in OmxDecoder, r=padenot
On FirefoxOS, the Android libraries estimate the duration of MP3 streams
by examining the first MP3 frame header. This only works for streams with
constant bit rate. For streams with variable bit rate, a too short or too
long duration is computed.

This patch adds support for parsing MP3 frame headers. The decoder handles
file streams by reading them at once at the beginning and parsing them
immediately. Network streams are updated when a new fragment arrives.
2013-01-24 13:38:32 +01:00
Thomas Zimmermann
156ef9939c Bug 831224: Added MP3 frame parser, r=padenot
MP3 streams consist of small frames, with each frame containing the
audio data of a few hundred milliseconds. The actual duration of the
encoded audio can among frames.

Each frame consists of a 4-byte frame header, some optional extra
information, and the audio data. The MP3 frame parser walks over the
content of an MP3 stream, computes the duration of each frame from
the frame header, and sums them up to the streams complete duration.

The MP3 frame parser does not decode the actual audio data.
2013-05-03 09:44:02 +02:00
Thomas Zimmermann
d184108c32 Bug 831224: Remove trailing whitespaces, r=padenot 2013-01-24 13:38:32 +01:00
Ed Morley
356d0996fb Backed out changeset 303ba353d785 (bug 831224) for turning bug 897108 permaorange 2013-08-08 10:00:26 -07:00
Ed Morley
77d8517be3 Backed out changeset 3cfe2793f157 (bug 831224) 2013-08-08 09:59:52 -07:00
Ed Morley
7b2317d99c Backed out changeset e334b3139e2a (bug 831224) 2013-08-08 09:59:45 -07:00
Ed Morley
34a074e7fd Backed out changeset 909cddbd5af9 (bug 831224) 2013-08-08 09:59:42 -07:00
Thomas Zimmermann
38af5b43c8 Bug 831224: Use multi-threaded I/O for reading and processing MP3 frames, r=padenot
Reading large MP3 files from a slow medium, such as an SD card, takes
several seconds. This is too long for interactive applications like the
music app.

With this patch, the OmxDecoder reads large MP3 file in smaller chunks
and hands over each chunk individually to the MP3 parser. Reading the
file is done in the I/O thread, which is allowed to block, parsing is
done on the main thread.

The current chunk size is 8 MiB, which is small enough to not cause any
delay.

--HG--
extra : rebase_source : 4effb86db481c405a97760cd98f4218dde42104d
2013-05-06 20:07:29 +02:00
Thomas Zimmermann
5fa26f0ddd Bug 831224: Parse MP3 frame headers in OmxDecoder, r=padenot
On FirefoxOS, the Android libraries estimate the duration of MP3 streams
by examining the first MP3 frame header. This only works for streams with
constant bit rate. For streams with variable bit rate, a too short or too
long duration is computed.

This patch adds support for parsing MP3 frame headers. The decoder handles
file streams by reading them at once at the beginning and parsing them
immediately. Network streams are updated when a new fragment arrives.

--HG--
extra : rebase_source : bffb9447a5fdba4145e83f5aeb3c2accfb7872d6
2013-01-24 13:38:32 +01:00
Thomas Zimmermann
9f51b66cc3 Bug 831224: Added MP3 frame parser, r=padenot
MP3 streams consist of small frames, with each frame containing the
audio data of a few hundred milliseconds. The actual duration of the
encoded audio can among frames.

Each frame consists of a 4-byte frame header, some optional extra
information, and the audio data. The MP3 frame parser walks over the
content of an MP3 stream, computes the duration of each frame from
the frame header, and sums them up to the streams complete duration.

The MP3 frame parser does not decode the actual audio data.

--HG--
extra : rebase_source : 1b101d8f9bf73e62672933d0f5d20253d7b25491
2013-05-03 09:44:02 +02:00
Thomas Zimmermann
1573d86782 Bug 831224: Remove trailing whitespaces, r=padenot
--HG--
extra : rebase_source : e04ddb59ab953550d988924670c96b73bf7909f2
2013-01-24 13:38:32 +01:00
Peter Chang
416da61282 Bug 894262 - Merge GonkIOSurfaceImage to GrallocImage, r=nical, kanru 2013-07-25 10:13:35 +08:00
Sotaro Ikeda
78260530d7 Bug 896374 - Fix infinite loop in MediaResourceManagerService::cancelClientLocked(). r=doublec 2013-07-24 08:55:30 -04:00
Sotaro Ikeda
9c866b9030 Bug 891445 - Fix incorrect pointer comparison. r=doublec 2013-07-12 17:27:17 -04:00
Trevor Saunders
82e5558b37 bug 887483 - remove a bunch of useless assignments to FORCE_STATIC_LIB implied by LIBXUL_LIBRARY=1 r=mshal 2013-07-11 11:06:34 -04:00
Sotaro Ikeda
8ce3936dc4 Bug 889238 - Add error handling to OMXCodecProxy. r=doublec 2013-07-07 16:33:57 -04:00
Marco Chen
4d4f788735 Bug 872462 - OmxDecoder::Pause/Start didn't follow AOSP's definition. r=doublec 2013-07-01 12:02:03 +08:00
Sotaro Ikeda
e6911a901b Bug 884654 - Fix deadlock come from OmxDecoder::statusChanged(). r=doublec 2013-06-26 09:36:22 -04:00
Sotaro Ikeda
f910a1819c Bug 883744 - add pointer null check r=doublec 2013-06-22 08:58:12 -04:00
Sotaro Ikeda
cb24852555 Bug 884440 - Remove item correctly from vector. r=doublec 2013-06-19 13:40:31 -04:00
Robert O'Callahan
25cffcb402 Bug 880601. Emulate a form of keyframe skipping by allowing MediaOmxReader::DecodeVideoFrame to decode more than one video frame if video decoding is falling behind. r=cpearce
If we don't support this in any way, then we get into trouble when there is
plenty of compressed data buffered but for some reason video decoding falls
behind (maybe there was a short period where the video data wasn't available).
Audio playback continues normally, but MediaOmxReader keeps making one call
to ReadAudio and one to ReadVideo, and if each call to ReadAudio decodes at
least as much as the calls to ReadVideo, video decoding can never catch up
to the current audio playback position. So video never plays. And when the
video decoding point gets far enough away from the audio decoding point,
horrible things start to happen, such as video and audio reading completely
different parts of the media cache and interfering with the caching mechanism
(which assumes audio and video reads are close together).

This patch approximates keyframe skipping, and is basically just a way for
MediaOmxReader::DecodeVideoFrame to decode more than one frame at a time
if we need video decoding to catch up.

To prevent pathological situations, we cap both the maximum number of frames
decoded per DecodeVideoFrame and the amount of time we spend in the method
(excluding the time for the last frame).

--HG--
extra : rebase_source : cba95c537fe97df5b696581be8233b6e9cffb70b
2013-06-15 23:51:56 +12:00
Sotaro Ikeda
fb0816d02d Bug 871485 - Share hw codec between applications/tasks. r=mwu, r=doublec, r=roc 2013-06-10 08:22:05 -04:00
Robert O'Callahan
54857756c2 Bug 877461. Part 3: Retry libstagefright audio/video decoding if it fails due to a timeout. r=sotaro
--HG--
extra : rebase_source : 2ccd8afaca1e4055eb0105f25754176b0ff37034
2013-06-06 11:43:43 +12:00
Robert O'Callahan
30c4640f2a Bug 877461. Part 2: Initialize VideoFrame members to 0. r=doublec
--HG--
extra : rebase_source : d447561e74bc760c2ccbcba925e54579e3a15088
2013-06-06 10:48:25 +12:00
Vladimir Vukicevic
903320a647 b=843599; use gralloc buffers for WebGL streaming on B2G; r=nical,jgilbert,jrmuizel 2013-05-27 10:12:13 -04:00
Sotaro Ikeda
1591798e76 Bug 874325 - Add lock to MediaStreamSource::readAt(). r=doublec 2013-06-03 10:41:54 -04:00