Sotaro Ikeda
b5f87b6bb8
Bug 884654 - Fix deadlock come from OmxDecoder::statusChanged(). r=doublec
2013-06-26 09:36:22 -04:00
Sotaro Ikeda
2d645addc3
Bug 883744 - add pointer null check r=doublec
2013-06-22 08:58:12 -04:00
Sotaro Ikeda
713070d92e
Bug 884440 - Remove item correctly from vector. r=doublec
2013-06-19 13:40:31 -04:00
Robert O'Callahan
4ec5ce6398
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
2d8e4dae08
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
a1197b8439
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
d504ec5593
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
ef8707b5f0
b=843599; use gralloc buffers for WebGL streaming on B2G; r=nical,jgilbert,jrmuizel
2013-05-27 10:12:13 -04:00
Sotaro Ikeda
c6a6b2489d
Bug 874325 - Add lock to MediaStreamSource::readAt(). r=doublec
2013-06-03 10:41:54 -04:00
Mike Shal
6f32ddf61c
Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
...
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Sotaro Ikeda
3f28dc4a02
Bug 871753 Part1 - fix deadlock during youtube video playback. r=doublec
2013-05-16 17:24:13 -07:00
Sotaro Ikeda
3a980ce9e1
Bug 868806 - Handle OMXCodec's error. r=doublec
2013-05-15 21:35:34 -04:00
Patrick Wang
340c832b1b
Bug 871463 - allow to fallback to software codec in emulator. r=doublec
2013-05-13 17:38:49 +08:00
Sotaro Ikeda
984156cb46
Bug 863441 - Increment GetAmpleVideoFrames() to 3. r=doublec
2013-05-07 10:53:42 -04:00
Sotaro Ikeda
1cc722ad6e
Bug 864180 - Move audio software decoder to app's process. r=doublec
2013-05-06 08:43:18 -04:00
Ed Morley
62e49e6d1a
Merge mozilla-central and birch
2013-05-03 13:35:02 +01:00
Chris Pearce
c8081a14c7
Bug 862182. r=roc,doublec
2013-05-03 10:59:18 +12:00
Michael Wu
97ade089a6
Bug 868065 - Move GraphicBuffer.h include out of ImageContainer.h, r=vlad
2013-05-02 12:56:09 -04:00
Chris Pearce
3262662a85
Bug 862182 - Revert bug 862183 due to frequent orange in 459439 crashtest. CLOSED TREE. r=philor
2013-05-01 13:33:33 +12:00
Chris Pearce
37aa644c0a
Bug 862182 - Hold references to MediaResource in nsRefPtrs (content/media/omx), and fix some omx compiler warnings. r=doublec
2013-05-01 11:23:46 +12:00
Ryan VanderMeulen
32e0055ca7
Merge m-c to inbound.
2013-04-16 16:04:20 -04:00
Mike Shal
24b4056720
Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey
2013-04-16 15:24:43 -04:00
Diego Wilson
6e5ca76079
Bug 860760 - Pause OMX media sources when playback is paused. r=sotaro, r=cdouble
...
OMXCodec needs to now when the stream is paused. Otherwise it will
prevent the device from lowering its power state when idle.
2013-04-10 17:58:25 -07:00
Sotaro Ikeda
1ae52b18d9
Bug 837051 - Store less buffers for video playback at MediaOmxReader. r=doublec
2013-04-08 14:35:30 -04:00
Diego Wilson
5e131253f0
Bug 847779 - Abort playback if OMX audio init fails. r=doublec, r=cpearce
2013-04-04 15:33:45 -07:00
Kyle Machulis
f5e3aadf0b
Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
2013-04-01 11:36:59 -07:00
Kyle Machulis
d2b6e6e01a
Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot
2013-03-29 15:12:58 -07:00
Kyle Machulis
5663b98bc5
Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
...
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Sotaro Ikeda
71f3d11c2f
Bug 850566 - Part 3: Set video size to SurfaceDescriptorGralloc. r=doublec
2013-03-28 09:59:48 -04:00
Mike Shal
ea1d9b8ba7
Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps
2013-03-19 11:47:00 -07:00
Sotaro Ikeda
edb14d52b9
Bug 803471 - Part 5b - Change OmxDecode to use GonkNativeWindowClient. r=cdouble
2013-03-08 14:43:33 -05:00
Sotaro Ikeda
f598af80f7
Bug 803471 - Part 2 - Use OmxClient in OmxDecoder. r=cdouble
2013-03-08 14:43:32 -05:00
Andrea Marchesini
8eaecd7c18
Bug 841014 - Rename nsTimeRanges.h to TimeRanges.h. r=Ms2ger
...
--HG--
rename : content/html/content/src/nsTimeRanges.cpp => content/html/content/src/TimeRanges.cpp
rename : content/html/content/src/nsTimeRanges.h => content/html/content/src/TimeRanges.h
2013-03-02 14:14:44 -05:00
Gregory Szorc
fee2be3026
Bug 784841 - Part 18g: Convert /content; r=glandium
2013-02-25 12:47:19 -08:00
Sotaro Ikeda
a4a7b25f49
Bug 840154 - Do not release MediaBuffer during OMXCodec is seeking. r=cdouble
2013-02-15 21:27:18 -05:00
Ehsan Akhgari
c78c1b8384
Bug 792263 - Implement decodeAudioData; r=bzbarsky,cpearce,padenot
2013-02-01 17:13:23 -05:00
Chris Jones
cab9a378db
Bug 834150: Just Say No to the fallback SW decoder. r=doublec a=blocking-b2g
2013-01-30 15:06:28 -08:00
Chris Double
fc9352b6d6
Bug 825485 - AAC files don't play on B2G - r=cjones
2013-01-07 12:55:50 +00:00
Chris Jones
347e4d552b
Bug 824230: Handle UNKNOWN_ERROR in OmxDecoder. r=doublec
2012-12-24 15:43:10 -08:00
Chris Jones
f5531b428a
Bug 819609: Don't try to send too-large videos to hardware video decoders. r=doublec a=blocking-basecamp
2012-12-10 23:48:58 -08:00
Paul Adenot
c38f98b92e
Bug 816949 - Remove IsSeekableInBufferedRange() methods as they are not needed anymore. r=cpearce
2012-12-07 14:30:03 +01:00
Paul Adenot
556b71143b
Bug 815194 - Remove more ns prefixes on content/media classes + whitespace fixes. r=cpearce
2012-11-28 20:40:07 +01:00
Edwin Flores
59cfbb854d
Bug 812756 - Set AmpleVideoFrames to the minimum to win a race when shutting down OMX.qcom.video.decoder.mpeg4 decoder r=doublec
2012-11-28 15:34:53 +13:00
Edwin Flores
92700449d1
Bug 812756 - Remove seeking hack from OMX decoder r=cpearce
2012-11-27 17:08:40 +13:00
Ehsan Akhgari
46c9d70720
Bug 814757 - Export all decoder reader headers; r=cpearce
2012-11-23 14:52:39 -05:00
Thinker K.F. Li
dcba0eca6c
Bug 805711 - check EOS against audio source for OmxDecoder. r=doublec
2012-11-24 20:25:02 +13:00
Thinker K.F. Li
1b12bd0076
Bug 810734 - Check EOF to avoid infinite looping when parsing MP4. r=doublec
2012-11-21 22:45:42 -05:00
Ehsan Akhgari
f69801b25f
Bug 812032 - Refactor the media reader classes to not access MediaDecoder directly; r=cpearce
2012-11-19 10:11:21 -05:00
Chris Pearce
216fe28466
Bug 811381 - Remove ns prefix from media code. r=roc
...
--HG--
rename : content/media/nsAudioAvailableEventManager.cpp => content/media/AudioAvailableEventManager.cpp
rename : content/media/nsAudioAvailableEventManager.h => content/media/AudioAvailableEventManager.h
rename : content/media/nsAudioStream.cpp => content/media/AudioStream.cpp
rename : content/media/nsAudioStream.h => content/media/AudioStream.h
rename : content/media/nsMediaCache.cpp => content/media/MediaCache.cpp
rename : content/media/nsMediaCache.h => content/media/MediaCache.h
rename : content/media/nsBuiltinDecoder.cpp => content/media/MediaDecoder.cpp
rename : content/media/nsBuiltinDecoder.h => content/media/MediaDecoder.h
rename : content/media/nsBuiltinDecoderReader.cpp => content/media/MediaDecoderReader.cpp
rename : content/media/nsBuiltinDecoderReader.h => content/media/MediaDecoderReader.h
rename : content/media/nsBuiltinDecoderStateMachine.cpp => content/media/MediaDecoderStateMachine.cpp
rename : content/media/nsBuiltinDecoderStateMachine.h => content/media/MediaDecoderStateMachine.h
rename : content/media/dash/nsDASHDecoder.cpp => content/media/dash/DASHDecoder.cpp
rename : content/media/dash/nsDASHDecoder.h => content/media/dash/DASHDecoder.h
rename : content/media/dash/nsDASHReader.cpp => content/media/dash/DASHReader.cpp
rename : content/media/dash/nsDASHReader.h => content/media/dash/DASHReader.h
rename : content/media/dash/nsDASHRepDecoder.cpp => content/media/dash/DASHRepDecoder.cpp
rename : content/media/dash/nsDASHRepDecoder.h => content/media/dash/DASHRepDecoder.h
rename : content/media/gstreamer/nsGStreamerDecoder.cpp => content/media/gstreamer/GStreamerDecoder.cpp
rename : content/media/gstreamer/nsGStreamerDecoder.h => content/media/gstreamer/GStreamerDecoder.h
rename : content/media/gstreamer/nsGStreamerReader.cpp => content/media/gstreamer/GStreamerReader.cpp
rename : content/media/gstreamer/nsGStreamerReader.h => content/media/gstreamer/GStreamerReader.h
rename : content/media/ogg/nsOggCodecState.cpp => content/media/ogg/OggCodecState.cpp
rename : content/media/ogg/nsOggCodecState.h => content/media/ogg/OggCodecState.h
rename : content/media/ogg/nsOggDecoder.cpp => content/media/ogg/OggDecoder.cpp
rename : content/media/ogg/nsOggDecoder.h => content/media/ogg/OggDecoder.h
rename : content/media/ogg/nsOggReader.cpp => content/media/ogg/OggReader.cpp
rename : content/media/ogg/nsOggReader.h => content/media/ogg/OggReader.h
rename : content/media/omx/nsMediaOmxDecoder.cpp => content/media/omx/MediaOmxDecoder.cpp
rename : content/media/omx/nsMediaOmxDecoder.h => content/media/omx/MediaOmxDecoder.h
rename : content/media/omx/nsMediaOmxReader.cpp => content/media/omx/MediaOmxReader.cpp
rename : content/media/omx/nsMediaOmxReader.h => content/media/omx/MediaOmxReader.h
rename : content/media/plugins/nsMediaPluginDecoder.cpp => content/media/plugins/MediaPluginDecoder.cpp
rename : content/media/plugins/nsMediaPluginDecoder.h => content/media/plugins/MediaPluginDecoder.h
rename : content/media/plugins/nsMediaPluginHost.cpp => content/media/plugins/MediaPluginHost.cpp
rename : content/media/plugins/nsMediaPluginHost.h => content/media/plugins/MediaPluginHost.h
rename : content/media/plugins/nsMediaPluginReader.cpp => content/media/plugins/MediaPluginReader.cpp
rename : content/media/plugins/nsMediaPluginReader.h => content/media/plugins/MediaPluginReader.h
rename : content/media/raw/nsRawDecoder.cpp => content/media/raw/RawDecoder.cpp
rename : content/media/raw/nsRawDecoder.h => content/media/raw/RawDecoder.h
rename : content/media/raw/nsRawReader.cpp => content/media/raw/RawReader.cpp
rename : content/media/raw/nsRawReader.h => content/media/raw/RawReader.h
rename : content/media/raw/nsRawStructs.h => content/media/raw/RawStructs.h
rename : content/media/wave/nsWaveDecoder.cpp => content/media/wave/WaveDecoder.cpp
rename : content/media/wave/nsWaveDecoder.h => content/media/wave/WaveDecoder.h
rename : content/media/wave/nsWaveReader.cpp => content/media/wave/WaveReader.cpp
rename : content/media/wave/nsWaveReader.h => content/media/wave/WaveReader.h
rename : content/media/webm/nsWebMBufferedParser.cpp => content/media/webm/WebMBufferedParser.cpp
rename : content/media/webm/nsWebMBufferedParser.h => content/media/webm/WebMBufferedParser.h
rename : content/media/webm/nsWebMDecoder.cpp => content/media/webm/WebMDecoder.cpp
rename : content/media/webm/nsWebMDecoder.h => content/media/webm/WebMDecoder.h
rename : content/media/webm/nsWebMReader.cpp => content/media/webm/WebMReader.cpp
rename : content/media/webm/nsWebMReader.h => content/media/webm/WebMReader.h
2012-11-14 11:46:40 -08:00
Chris Pearce
1d6dc9c020
Bug 811381 - Move media code into mozilla namespace. r=roc
2012-11-14 11:45:33 -08:00