Commit Graph

159 Commits

Author SHA1 Message Date
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
Sotaro Ikeda
54d13a5e10 Bug 985772 - Remove SurfaceDescriptor around GonkNativeWindow r=nical,pchang,schiu,mikeh,gal 2014-03-31 08:24:28 -07:00
Benjamin Chen
b4f390989e Bug 984816: RTSP play/pause deadlock issue. 1. Release the monitor when access mReader. 2. Reverse the order in RtspOmxReader::SetIdle(). r=cpearce 2014-03-31 10:18:01 +08: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
Randy Lin
2a3e1a4f03 Bug 959490 - [MediaEncoder] Support *.3gp with AMR-NB audio format on certificated application. r=roc 2014-03-19 14:52:45 +08:00
Alfredo Yang
39e1e627f3 Bug 975978 - Check display size in OMX backend playback. r=cpearce 2014-03-18 08:20:19 -04:00
John Lin
88c9288b81 Bug 983039 - [Media encoder] Support YV12 GrallocImage in OMXVideoEncoder on B2G. r=roc 2014-03-14 09:43:13 -04:00
Chris Pearce
3d723ba3d0 Bug 983204 - Ensure RTSP OMX reader's decoder is made active during loadmetadata. r=vchang 2014-03-14 13:24:54 +08:00
Wes Kocher
019c2556a3 Backed out changeset d42a36615c7e (bug 983204) for build bustage on an otherwise CLOSED TREE 2014-03-13 19:35:02 -07:00
Chris Pearce
6f909590d8 Bug 983204 - Ensure RTSP OMX reader's decoder is made active during loadmetadata. r=vchang 2014-03-14 10:11:02 +08:00
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