Commit Graph

194 Commits

Author SHA1 Message Date
JW Wang
0f9bf7bc61 Bug 996465 - Add ability to delay running state machine cycles for synchronization between decoding/main and state machine threads. r=cpearce 2014-07-11 03:11:00 -04:00
JW Wang
80b90738fb Bug 996465 - Extract code running state machine cycles into a class. r=cpearce 2014-07-11 03:11:00 -04:00
Carsten "Tomcat" Book
0d3361fa9d Backed out changeset bbcfcf00f84e (bug 996465) for bustage on a CLOSED TREE 2014-07-11 09:54:42 +02:00
Carsten "Tomcat" Book
fa1174ca38 Backed out changeset aa529bac2a92 (bug 996465) 2014-07-11 09:54:24 +02:00
JW Wang
5682c0b6c6 Bug 996465 - add ability to delay running state machine cycles for synchronization between decoding/main and state machine threads. r=cpearce. 2014-07-10 03:22:00 +02:00
JW Wang
84f11b485c Bug 996465 - extract code running state mahcine cycles into a class. r=cpearce. 2014-07-10 03:21:00 +02:00
Shelly Lin
c7b36f2e75 Bug 744896 - Part 3: Pass MediaInfo to functions MetadataLoaded and QueueMetadata. r=roc. 2014-07-04 11:54:54 +08:00
Carsten "Tomcat" Book
b3b2887e64 Backed out changeset 7691b13459f4 (bug 744896) for B2G ICS Emulator Opt test failures on a CLOSED TREE 2014-07-03 11:51:41 +02:00
Shelly Lin
355341a6ea Bug 744896 - Part 3: Pass MediaInfo to functions MetadataLoaded and QueueMetadata. r=roc. 2014-07-03 14:04:08 +08:00
Chris Pearce
90ecdd4036 Bug 1024405 - Discard enqueued samples when making video decoders dormant. r=kinetik 2014-06-30 11:23:04 +12:00
Matthew Gregan
99880f5bcb Bug 948269 - Refactor MediaDecoderStateMachine::AudioLoop into a standalone AudioSink class. r=cpearce 2013-12-11 18:03:30 +13:00
JW Wang
27bad5c58d Bug 1020538 - Fix the position calculation algorithm in MediaDecoderStateMachine::GetVideoStreamPosition(). r=cpearce 2014-06-26 14:56:23 +12:00
Benoit Jacob
577be64bf4 Bug 1028588 - Fix dangerous public destructors in content/media/ - r=cpearce,smaug 2014-06-24 12:36:43 -04:00
Eric Phan
d7e21aee71 Bug 1015985 - Set decoder seekable members outside of ReadMetadata by StateMachine. r=cpearce 2014-06-23 22:08:34 +12:00
Chris Pearce
763787ecd7 Bug 979104 - MediaDecoderReader/StateMachine asynchronous decoding. r=kinetik 2014-06-18 17:07:02 +12:00
Chris Pearce
826cba6235 Bug 1022913 - Ensure that fastSeek() doesn't skip behind the current playback position if we're seeking forwards. r=cajbir 2014-06-17 15:27:46 +12:00
Ehsan Akhgari
3b9861ed6a Backed out changeset 0cdef46c65c1 (bug 979104) for causing bug 1024324 2014-06-13 16:20:37 -04:00
Karl Tomlinson
157b4b4902 b=1023697 use MediaStream to convert ticks to time in MediaDecoderStateMachine r=roc
--HG--
extra : transplant_source : %EA%E0%A5rH%F6%F55%B0%28%3Eq%5C%8Ap%FC%06%3D%06%3B
2014-06-12 16:44:56 +12:00
Karl Tomlinson
d4faed6b58 b=1023697 change MediaDecoderStateMachine::mSyncPointInMediaStream from StreamTime to µs r=roc
This allows the conversion from StreamTime to be performed while a stream is
available.

--HG--
extra : transplant_source : %3A%AD%5C%1A%84%C3%1BC%8B%04%D5%5B%90%3Cv%BE%A6%D6%C0%9D
2014-06-12 16:44:56 +12:00
Chris Pearce
5f9673dc9d Bug 979104 - MediaDecoderReader/StateMachine asynchronous decoding. r=kinetik 2014-06-10 19:31:09 +12:00
Kyle Huey
941a5ee91b Bug 996133: Remove unnecessary NS_DISPATCH_NORMAL arguments to NS_DispatchToMainThread. r=ehsan 2014-05-23 12:53:17 -07:00
JW Wang
a129bc7245 Bug 1008012 - |mBasePosition| should be updated after seeking otherwise GetVideoStreamPosition will get the wrong value. r=cpearce 2014-05-21 00:41:00 +02:00
Vincent Chang
6543e1ba95 Bug 951278 - [RTSP][V1.3] The RTSP streaming always stops at the last 1st or 2nd second. r=sworkman 2014-03-18 14:30:51 +08:00
JW Wang
5f4967bb8e Bug 1000841 - remove SetActive() from MediaDecoderReader. Its user needs to know when to call SetIdle() only. r=cpearce 2014-05-19 04:23:00 +02:00
JW Wang
60c4486389 Bug 1004669 - Fix leaks in MediaTaskQueue::Dispatch(). r=cpearce 2014-05-11 20:12:00 +02:00
Chris Pearce
faeae5e6a5 Bug 1005622 - Reset media queues in Android media seek so that we don't think we're still at EOS after playing to EOS and then seeking. r=edwin 2014-05-07 15:58:06 +12:00
Chris Pearce
7f566413a5 Bug 1004373 - Prevent multiple ReadMetadata tasks to be dispatched to the decode task queue at once. r=kinetik 2014-05-06 12:12:05 +12:00
Chris Pearce
23592d98c2 Bug 1002266 - Access MediaQueues from MediaDecoderStateMachine through accessors. r=kinetik 2014-04-28 13:12:50 +12:00
Birunthan Mohanathas
504b581650 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
Matthew Gregan
c87e04de54 Bug 881512 - Remove useless static_casts. r=cajbir 2014-04-22 23:58:00 +12:00
Robert O'Callahan
dea8b24676 Bug 998284. When entering the buffering state from AdvanceFrame, be prepared to accept a second's delay before reevaluating whether to exit buffering. r=cpearce
--HG--
extra : rebase_source : 2a7aab19c998f6977cb47d6300e2967be69bcbdf
2014-03-25 00:58:11 +13:00
JW Wang
ad74eb79fd Bug 998168 - nsITimer functions should be only called in the event target thread of the timer. r=cpearce. 2014-04-23 05:29:14 -04:00
JW Wang
2015191021 Bug 998168 - add decoder pointer to the log message of MediaDecoderStateMachine/MediaDecoder for debugging. r=cpearce 2014-04-23 05:29:04 -04:00
Chris Pearce
7dc5ed8d90 Bug 993753 - Don't set media decoders idle while seeking. r=kinetik 2014-04-15 15:01:34 +12:00
Randell Jesup
095ff2b262 Bug 919215: Drop queued audio data on low-latency startup, make AudioStream::Init() async r=roc,padenot 2014-04-09 15:59:07 -04:00
Andrea Marchesini
8204cc0528 Bug 987064 - Remove AudioChannelType. r=roc, r=mchen, r=bent 2014-04-10 18:39:20 +01:00
Carsten "Tomcat" Book
c3dea3f373 Backed out changeset ac06eacc2206 (bug 987064) for B2G ICS Emulator Debug Bustage on a CLOSED TREE 2014-04-10 13:18:18 +02:00
Andrea Marchesini
af24d3be6d Bug 987064 - Remove AudioChannelType, r=roc, r=mchen, r=bent 2014-04-10 11:49:23 +01:00
Michael Pruett
a1e74e7208 Bug 847827 - Update libsoundtouch to allow changing playback rate with multichannel audio. r=padenot
--HG--
extra : rebase_source : ebf10737b048ae3280b9a7706f701337211b2880
2014-04-10 10:37:07 +02:00
Wes Kocher
af719fd52b Merge m-c to inbound on a CLOSED TREE 2014-04-02 19:54:15 -07:00
JW Wang
cc9300a896 Bug 990356 - Part 3: Remove nsRunnable base class from MediaDecoderStateMachine. r=cpearce 2014-04-02 08:51:47 -04:00
JW Wang
4adcf627f4 Bug 990356 - Part 2: Only one way to dispatch state machine (using a timer) tasks and remove unused variables. r=cpearce 2014-04-02 08:51:47 -04:00
JW Wang
9595156993 Bug 990356 - Part 1: Remove lazy init of |mTimer| since we need one for most of the case. r=cpearce 2014-04-02 08:51:46 -04:00
Ryan VanderMeulen
52484dbcb0 Merge inbound to m-c. 2014-04-01 16:45:00 -04:00
JW Wang
3729e45eb8 Bug 980868 - Don't skip video frame when |clock time| is less than |mVideoFrameEndTime| for we are still in the safe range without underruning video frames. r=cpearce 2014-04-01 08:58:55 -04:00
Benjamin Chen
9893d68d5e 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
Matthew Gregan
ced956736c Bug 927245 - Remove deprecated Audio Data API implementation. r=cajbir,smaug 2014-04-03 10:53:39 +13:00
Chris Pearce
8b18788355 Bug 631058 - Don't preroll as many media samples when loading preload="metadata" media. r=cajbir 2014-04-01 16:43:57 +13:00
Chris Pearce
a8e52798ff 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
Ed Morley
9d7a5cff30 Backed out changeset 00fa39c23b44 (bug 778077) for reftest failures 2014-03-28 12:31:29 +00:00