Sotaro Ikeda
0ff2ce37ce
Bug 922334 - Add zero division check and prevent unncecessary mp3 parsing r=doublec
2013-10-03 10:53:21 +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
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
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
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
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
fb0816d02d
Bug 871485 - Share hw codec between applications/tasks. r=mwu, r=doublec, r=roc
2013-06-10 08:22:05 -04:00
Ryan VanderMeulen
c164c281c9
Backed out changeset 4c129a5676eb (bug 871485) for mochitest-1 failures.
2013-06-07 09:57:05 -04:00
Sotaro Ikeda
1a0a39bca4
Bug 871485 - Share hw codec between applications/tasks. r=mwu, r=doublec, r=roc
2013-06-07 08:15:44 -04: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
Vladimir Vukicevic
8f3c6c3bb6
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
dfdb68d68a
b=843599; use gralloc buffers for WebGL streaming on B2G; r=nical,jgilbert,jrmuizel
2013-05-27 10:12:13 -04:00
Sotaro Ikeda
ea6d1dc9d5
Bug 871753 Part1 - fix deadlock during youtube video playback. r=doublec
2013-05-16 17:24:13 -07:00
Chris Pearce
ea957dfa74
Bug 862182. r=roc,doublec
2013-05-03 10:59:18 +12:00
Chris Pearce
a183f15892
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
252138b2cf
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
4b30b46d1f
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
269dd694f1
Bug 803471 - Part 5b - Change OmxDecode to use GonkNativeWindowClient. r=cdouble
2013-03-08 14:43:33 -05:00
Sotaro Ikeda
1f005c4979
Bug 803471 - Part 2 - Use OmxClient in OmxDecoder. r=cdouble
2013-03-08 14:43:32 -05:00
Sotaro Ikeda
06b641ac00
Bug 840154 - Do not release MediaBuffer during OMXCodec is seeking. r=cdouble
2013-02-15 21:27:18 -05:00
Chris Jones
d3257c3260
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
d5bdac2156
Bug 812032 - Refactor the media reader classes to not access MediaDecoder directly; r=cpearce
2012-11-19 10:11:21 -05:00
Chris Pearce
9abb830db0
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
42d7fd21b1
Bug 811381 - Move media code into mozilla namespace. r=roc
2012-11-14 11:45:33 -08:00
Edwin Flores
78ee3c2d6c
Bug 759506 - Add support for zero-copy OMX hardware decoding to B2G r=doublec
2012-09-27 16:33:43 +12:00