Sotaro Ikeda
c0952e7718
Bug 1042308 - Return All MediaBuffers to OMXCodec during OMXCodec shutdown r=cajbir,nical
2014-07-24 08:24:42 -07:00
Bruce Sun
279324a3ce
Bug 904177 - Extract MediaStreamResource. r=sotaro, r=cpearce
2014-07-16 15:34:30 +08:00
Vasanthakumar Pandurangan
0f755350a7
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
Sotaro Ikeda
3c541b7114
Bug 985772 - Remove SurfaceDescriptor around GonkNativeWindow r=nical,pchang,schiu,mikeh,gal
2014-03-31 08:24:28 -07:00
Alfredo Yang
4e008e916e
Bug 975978 - Check display size in OMX backend playback. r=cpearce
2014-03-18 08:20:19 -04:00
Sotaro Ikeda
c5c7a00346
Bug 957323 - Handle android's fence on gonk r=nical,doublec,pchang
2014-02-24 20:23:41 -08:00
Sotaro Ikeda
4d758c0459
Bug 961405 - Change GraphicBufferLocked as to use AtomicRefCountedWithFinalize. r=nical, r=pchang, r=doublec, r=mikeh
2014-01-21 13:53:48 -05:00
Thomas Zimmermann
9edf9eff13
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
Benjamin Chen
bc3881208c
Bug 831645 - part2, Rtsp media resource and decoder. r=roc, doublec, sworkman, khuey, gps
2013-09-23 17:53:36 +08:00
Thomas Zimmermann
8460dccbe6
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
b19d671b9b
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
d9445e9be6
Bug 922334 - Add zero division check and prevent unncecessary mp3 parsing r=doublec
2013-10-03 10:53:21 +02:00
Thomas Zimmermann
05b11eda62
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
a9843f607d
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
2a301b9526
Bug 831224: Remove trailing whitespaces, r=padenot
2013-01-24 13:38:32 +01:00
Ed Morley
86d33773fb
Backed out changeset 303ba353d785 (bug 831224) for turning bug 897108 permaorange
2013-08-08 10:00:26 -07:00
Ed Morley
ed38f85777
Backed out changeset e334b3139e2a (bug 831224)
2013-08-08 09:59:45 -07:00
Ed Morley
b7e276529b
Backed out changeset 909cddbd5af9 (bug 831224)
2013-08-08 09:59:42 -07:00
Thomas Zimmermann
c78497c07a
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
5632b9f96e
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
8458373204
Bug 831224: Remove trailing whitespaces, r=padenot
...
--HG--
extra : rebase_source : e04ddb59ab953550d988924670c96b73bf7909f2
2013-01-24 13:38:32 +01:00
Peter Chang
a38cfef9d8
Bug 894262 - Merge GonkIOSurfaceImage to GrallocImage, r=nical, kanru
2013-07-25 10:13:35 +08:00
Marco Chen
a8344f1cb5
Bug 872462 - OmxDecoder::Pause/Start didn't follow AOSP's definition. r=doublec
2013-07-01 12:02:03 +08:00
Sotaro Ikeda
cd5b455001
Bug 884654 - Fix deadlock come from OmxDecoder::statusChanged(). r=doublec
2013-06-26 09:36:22 -04:00
Sotaro Ikeda
357c151486
Bug 871485 - Share hw codec between applications/tasks. r=mwu, r=doublec, r=roc
2013-06-10 08:22:05 -04:00
Ryan VanderMeulen
c4ee024ee1
Backed out changeset 4c129a5676eb (bug 871485) for mochitest-1 failures.
2013-06-07 09:57:05 -04:00
Sotaro Ikeda
a10ef2a349
Bug 871485 - Share hw codec between applications/tasks. r=mwu, r=doublec, r=roc
2013-06-07 08:15:44 -04:00
Vladimir Vukicevic
020a93e885
b=843599; use gralloc buffers for WebGL streaming on B2G; r=nical,jgilbert,jrmuizel
2013-05-27 10:12:13 -04:00
Sotaro Ikeda
2e8825ec27
Bug 874325 - Add lock to MediaStreamSource::readAt(). r=doublec
2013-06-03 10:41:54 -04:00
Vladimir Vukicevic
99cf91d665
Backed out changeset fd25fb9e951e and 0f0c080ed1ba (bug 843599) for mac debug assertion failures on a CLOSED TREE
2013-05-27 11:45:59 -04:00
Vladimir Vukicevic
8969f99b17
b=843599; use gralloc buffers for WebGL streaming on B2G; r=nical,jgilbert,jrmuizel
2013-05-27 10:12:13 -04:00
Sotaro Ikeda
7a601bfbd5
Bug 871753 Part1 - fix deadlock during youtube video playback. r=doublec
2013-05-16 17:24:13 -07:00
Chris Pearce
01b2b87eff
Bug 862182. r=roc,doublec
2013-05-03 10:59:18 +12:00
Chris Pearce
c40495db60
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
601260f1a0
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
Diego Wilson
2d313efb2c
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
ecebfc145e
Bug 803471 - Part 5b - Change OmxDecode to use GonkNativeWindowClient. r=cdouble
2013-03-08 14:43:33 -05:00
Sotaro Ikeda
4d3c927c6e
Bug 803471 - Part 2 - Use OmxClient in OmxDecoder. r=cdouble
2013-03-08 14:43:32 -05:00
Sotaro Ikeda
4968afff3b
Bug 840154 - Do not release MediaBuffer during OMXCodec is seeking. r=cdouble
2013-02-15 21:27:18 -05:00
Chris Jones
74dfa6d566
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
Ehsan Akhgari
2389e2ea97
Bug 812032 - Refactor the media reader classes to not access MediaDecoder directly; r=cpearce
2012-11-19 10:11:21 -05:00
Chris Pearce
ddedecabd0
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
5ac4df2ef3
Bug 811381 - Move media code into mozilla namespace. r=roc
2012-11-14 11:45:33 -08:00
Edwin Flores
25e059e58e
Bug 759506 - Add support for zero-copy OMX hardware decoding to B2G r=doublec
2012-09-27 16:33:43 +12:00