Граф коммитов

208 Коммитов

Автор SHA1 Сообщение Дата
Kaku Kuo d42d57aa97 Bug 1267983 - include MediaQueue.h; r=jwwang
MozReview-Commit-ID: ikxjE7VZsd

--HG--
extra : rebase_source : 0f8bcca3b15fade72b04982b9b4f79e130413938
2016-04-27 19:01:13 +08:00
Jean-Yves Avenard bb9dfe8544 Bug 1264199: P9. Include pending frames in HasUnplayedFrames calculation. r=jwwang
MozReview-Commit-ID: 5m8zCe4cB2s

--HG--
extra : rebase_source : 5c33353294acfc0ec51385bf7d00fea9aa985b39
2016-04-26 00:13:01 +10:00
Jean-Yves Avenard 45a02f35c6 Bug 1264199: P6. Drain resampler when changing format or reaching the end. r=kinetik
MozReview-Commit-ID: KqcB0FYxNtC

--HG--
extra : rebase_source : 63eff5cb4d66483ecc2871440dda6bc9f73d9822
2016-04-14 15:44:02 +10:00
Jean-Yves Avenard 33f592b6a5 Bug 1264199: P5. Perform all downmixing operations in DecodedAudioDataSink. r=kinetik
Performing all audio processing operations in the same place, allows to simplify the code.

Additionally, if accessibility.monoaudio.enable is not set, we always upmix mono to stereo so that if the first audio stream seen was mono, we aren't stuck playing all future streams in mono.

MozReview-Commit-ID: 5yANN6PLFhX

--HG--
extra : rebase_source : 8b2138368d97f4ec2857c021ed9605c633282ed2
2016-04-13 20:25:50 +10:00
Jean-Yves Avenard ec0a733d51 Bug 1264199: P3. Attempt to minimize audio quality loss and unnecessary processing. r=kinetik
We attempt to avoid unnecessary resampling of 44.1kHz and 48kHz content, for all others we use cubeb's preferred sampling rate as final sampling rate.

MozReview-Commit-ID: 413qnsDFHzY

--HG--
extra : rebase_source : ca3508aefb29e2e64e84774bddb9fe77654c8945
2016-04-13 17:55:48 +10:00
Jean-Yves Avenard 68dc5cfd31 Bug 1264199: P2. Ensure the AudioStream only ever receive the same content format. r=kinetik
The audio is automatically converted to always match the format of the first processed sample.
This is a temporary approach, as it would be preferred to use a final sampling rate not causing too much quality loss.

MozReview-Commit-ID: Lo3827aon43

--HG--
extra : rebase_source : 946eabde451a33018722cb6f1c0ca7b8c1d87009
2016-04-13 17:30:23 +10:00
Jean-Yves Avenard fa7bd08dd2 Bug 1264199: P1. Perform audio conversion in the MSDM taskqueue and ahead of use. r=kinetik
This will allow to easily detect audio configuration change prior immediate playback.

MozReview-Commit-ID: IwDUGOd17ND

--HG--
extra : rebase_source : ef2b492cfeed5eca8fdfcb5442dedc2b65fc1d8f
2016-04-13 17:17:54 +10:00
Kyle Huey c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
JW Wang 0c694cb31b Bug 1246051 - have MediaQueue<T>::Peek/PeekFront return a RefPtr<> to avoid dangling pointers per comment 0. r=gerald.
MozReview-Commit-ID: JhPVlqMWsTu
2016-04-25 14:36:07 +08:00
Carsten "Tomcat" Book a5380ba1b7 Backed out changeset 198add1ad218 (bug 1264199) for test failures in test_WaitingOnMissingData_mp4.html
--HG--
extra : rebase_source : 33dedc36a21a7d025aaba9c5e3febb841aafd626
2016-04-21 16:32:21 +02:00
Carsten "Tomcat" Book d86730e999 Backed out changeset d01ac4659cb4 (bug 1264199)
--HG--
extra : rebase_source : b25c66791db9aaaeb897da1f864d4fecb677e090
2016-04-21 16:32:00 +02:00
Carsten "Tomcat" Book c728b16f87 Backed out changeset 697006992f04 (bug 1264199)
--HG--
extra : rebase_source : 54261374ba3d452f9eb38a521d1a95f9b9bcc18e
2016-04-21 16:31:58 +02:00
Carsten "Tomcat" Book ba17b2d751 Backed out changeset 93ab5d1b04b0 (bug 1264199)
--HG--
extra : rebase_source : 0c5ec4b3526d6cfcc86d40221f298790f262227d
2016-04-21 16:31:55 +02:00
Carsten "Tomcat" Book baaa1f0ede Backed out changeset b83be2d0614b (bug 1264199)
--HG--
extra : rebase_source : f8962f950f2fa089ca7eb297aca3b8711c5586c5
2016-04-21 16:31:54 +02:00
Jean-Yves Avenard b6a41a813c Bug 1264199: P6. Drain resampler when changing format or reaching the end. r=kinetik
MozReview-Commit-ID: KqcB0FYxNtC

--HG--
extra : rebase_source : 6004cd28d70f5ac44644aa00f852d0afd95017a9
2016-04-14 15:44:02 +10:00
Jean-Yves Avenard 427e2852c6 Bug 1264199: P5. Perform all downmixing operations in DecodedAudioDataSink. r=kinetik
Performing all audio processing operations in the same place, allows to simplify the code.

Additionally, if accessibility.monoaudio.enable is not set, we always upmix mono to stereo so that if the first audio stream seen was mono, we aren't stuck playing all future streams in mono.

MozReview-Commit-ID: 5yANN6PLFhX

--HG--
extra : rebase_source : f40dfacc9fc323794325de0431c4958854012180
2016-04-13 20:25:50 +10:00
Jean-Yves Avenard f3ef547925 Bug 1264199: P3. Attempt to minimize audio quality loss and unnecessary processing. r=kinetik
We attempt to avoid unnecessary resampling of 44.1kHz and 48kHz content, for all others we use cubeb's preferred sampling rate as final sampling rate.

MozReview-Commit-ID: 413qnsDFHzY

--HG--
extra : rebase_source : a469cb7269be48bfbca82fbbd90c3e2caf21b9a7
2016-04-13 17:55:48 +10:00
Jean-Yves Avenard ad7e31a76a Bug 1264199: P2. Ensure the AudioStream only ever receive the same content format. r=kinetik
The audio is automatically converted to always match the format of the first processed sample.
This is a temporary approach, as it would be preferred to use a final sampling rate not causing too much quality loss.

MozReview-Commit-ID: Lo3827aon43

--HG--
extra : rebase_source : 51322d12415995bd5ba7d8a25500860f333c9c3e
2016-04-13 17:30:23 +10:00
Jean-Yves Avenard d8c778f022 Bug 1264199: P1. Perform audio conversion in the reader's taskqueue and ahead of use. r=kinetik
This will allow to easily detect audio configuration change prior immediate playback.

MozReview-Commit-ID: IwDUGOd17ND

--HG--
extra : rebase_source : 3af32634eb431661436bf1d3aaeb80124b229716
2016-04-13 17:17:54 +10:00
Wes Kocher b8f98ffe9f Backed out 8 changesets (bug 1264199) for permafailing media mochitests on OSX 10.6 a=backout
Backed out changeset 0f20f2080824 (bug 1264199)
Backed out changeset 90351d2719be (bug 1264199)
Backed out changeset f484b42cbdda (bug 1264199)
Backed out changeset b79b62146120 (bug 1264199)
Backed out changeset f587df589b69 (bug 1264199)
Backed out changeset 02f781a573b4 (bug 1264199)
Backed out changeset d3677ae4c8ec (bug 1264199)
Backed out changeset d08288654ec9 (bug 1264199)

MozReview-Commit-ID: HVtiBSOxf7t
2016-04-20 11:01:36 -07:00
Jean-Yves Avenard ab5924e4e6 Bug 1264199: P6. Drain resampler when changing format or reaching the end. r=kinetik
MozReview-Commit-ID: KqcB0FYxNtC
2016-04-20 15:03:40 +10:00
Jean-Yves Avenard 29ce436a1b Bug 1264199: P5. Perform all downmixing operations in DecodedAudioDataSink. r=kinetik
Performing all audio processing operations in the same place, allows to simplify the code.

Additionally, if accessibility.monoaudio.enable is not set, we always upmix mono to stereo so that if the first audio stream seen was mono, we aren't stuck playing all future streams in mono.

MozReview-Commit-ID: 5yANN6PLFhX
2016-04-20 15:03:34 +10:00
Jean-Yves Avenard a0ed015dba Bug 1264199: P3. Attempt to minimize audio quality loss and unnecessary processing. r=kinetik
We attempt to avoid unnecessary resampling of 44.1kHz and 48kHz content, for all others we use cubeb's preferred sampling rate as final sampling rate.

MozReview-Commit-ID: 413qnsDFHzY
2016-04-20 15:03:20 +10:00
Jean-Yves Avenard 024b052f14 Bug 1264199: P2. Ensure the AudioStream only ever receive the same content format. r=kinetik
The audio is automatically converted to always match the format of the first processed sample.
This is a temporary approach, as it would be preferred to use a final sampling rate not causing too much quality loss.

MozReview-Commit-ID: Lo3827aon43
2016-04-20 15:03:14 +10:00
Jean-Yves Avenard b130178b94 Bug 1264199: P1. Perform audio conversion in the reader's taskqueue and ahead of use. r=kinetik
This will allow to easily detect audio configuration change prior immediate playback.

MozReview-Commit-ID: IwDUGOd17ND
2016-04-20 15:02:55 +10:00
Carsten "Tomcat" Book 0a327c9b21 Backed out changeset b15c10c42148 (bug 1264199) for android crashes 2016-04-18 14:22:19 +02:00
Carsten "Tomcat" Book 564bf14aa1 Backed out changeset 6b82e89a490e (bug 1264199) 2016-04-18 14:22:06 +02:00
Carsten "Tomcat" Book e53741644d Backed out changeset 04751f3545ad (bug 1264199) 2016-04-18 14:22:05 +02:00
Carsten "Tomcat" Book fbf1d00b15 Backed out changeset f323c504b5a5 (bug 1264199) 2016-04-18 14:22:02 +02:00
Carsten "Tomcat" Book 5cd62eeaee Backed out changeset 4e02fc1cbd35 (bug 1264199) 2016-04-18 14:22:00 +02:00
Carsten "Tomcat" Book 23aeca76f6 Backed out changeset 1d139b7422c8 (bug 1264199) 2016-04-18 14:21:59 +02:00
Jean-Yves Avenard a2cc8a6739 Bug 1264199: P7. Stop early if audio queue got flushed. r=me
MozReview-Commit-ID: EMj2LMgRIzU
2016-04-18 20:24:19 +10:00
Jean-Yves Avenard 730f304d31 Bug 1264199: P6. Drain resampler when changing format or reaching the end. r=kinetik
MozReview-Commit-ID: KqcB0FYxNtC

--HG--
extra : rebase_source : 777c5b85e8999a54a8b0b5c9da999d41e746daa2
2016-04-14 15:44:02 +10:00
Jean-Yves Avenard 7e4703cb30 Bug 1264199: P5. Perform all downmixing operations in DecodedAudioDataSink. r=kinetik
Performing all audio processing operations in the same place, allows to simplify the code.

Additionally, if accessibility.monoaudio.enable is not set, we always upmix mono to stereo so that if the first audio stream seen was mono, we aren't stuck playing all future streams in mono.

MozReview-Commit-ID: 5yANN6PLFhX

--HG--
extra : rebase_source : c789ba66fa168bc11064b2a329311d90b046c7fc
2016-04-13 20:25:50 +10:00
Jean-Yves Avenard 16c0bd7cd9 Bug 1264199: P3. Attempt to minimize audio quality loss and unnecessary processing. r=kinetik
We attempt to avoid unnecessary resampling of 44.1kHz and 48kHz content, for all others we use cubeb's preferred sampling rate as final sampling rate.

MozReview-Commit-ID: 413qnsDFHzY

--HG--
extra : rebase_source : 2c783be7f6d2ccaab88cee70372905ea92b690f4
2016-04-13 17:55:48 +10:00
Jean-Yves Avenard d679b38075 Bug 1264199: P2. Ensure the AudioStream only ever receive the same content format. r=kinetik
The audio is automatically converted to always match the format of the first processed sample.
This is a temporary approach, as it would be preferred to use a final sampling rate not causing too much quality loss.

MozReview-Commit-ID: Lo3827aon43

--HG--
extra : rebase_source : d8de2c85de5a78c2d1a17201a9d0c418ce3312e4
2016-04-13 17:30:23 +10:00
Jean-Yves Avenard 6517105f96 Bug 1264199: P1. Perform audio conversion in the reader's taskqueue and ahead of use. r=kinetik
This will allow to easily detect audio configuration change prior immediate playback.

MozReview-Commit-ID: IwDUGOd17ND

--HG--
extra : rebase_source : 37e9e19a58d2e90b107eaf63a2ac19233c521033
2016-04-13 17:17:54 +10:00
Jean-Yves Avenard 9d61bb0d32 Bug 1262753: P7. Add debugging pref to enable/disable downmixer and resample. r=kinetik
Using the gfxprefs for the time being, in order to access the preferences outside of the main thread.

It will allow to easily test future cubeb changes to support change of sampling rate / multichannels.

MozReview-Commit-ID: 2Qvq4zAtzCL

--HG--
extra : rebase_source : 46e272ca46ceb35b8e97b62cd1d2be949ba054f2
2016-04-12 19:24:09 +10:00
Jean-Yves Avenard 4132e3555b Bug 1262753: P6. Perform downmixing in DecodeAudioDataSink. r=kinetik
Rather than performing the audio processing a few frames at a time, we perform the operation when popping the audio data block.
The only downmixing task left to AudioStream is to handle the force mono preference.

Resampling is currently disabled.

MozReview-Commit-ID: GNQA1h0xcp7

--HG--
extra : rebase_source : c58aa4514a0dc4de06be6dc1da6a598742caa262
2016-04-11 21:16:17 +10:00
Andreas Pehrson e1b8d01dd1 Bug 1208371 - Hook up DecodedStream with PrincipalHandle. r=mt,jwwang
MozReview-Commit-ID: 1LmiFyfjhsr

--HG--
extra : rebase_source : e1ceca65cd1f5ff64ab6fff8fafc1ddd08f44b87
2016-02-02 13:14:13 +08:00
Andreas Pehrson be74876e25 Bug 1208371 - Add PrincipalHandle to MediaChunks. r=mt,jesup
PrincipalHandle is a thread safe pointer to a holder of (the main-thread-only
nsIPrincipal) that can be passed around the MSG.

A MediaStreamTrack whose source has just updated its principal, sets the new
principal aside (as its "pending principal"), and combines the new principal
into its current principal.

Then the source starts passing the new principal to the MediaStreamGraph as
a PrincipalHandle.

Changes to a track's PrincipalHandle on the MSG will be surfaced through the
MediaStreamTrackListener API. These changes are dispatched to main thread
and compared to a MediaStreamTrack's pending principal. In case of a match
the track knows the correct principal is flowing and can move the pending
principal to be the current principal and update any main thread principal
observers.

MozReview-Commit-ID: D0JXGWhQFFU

--HG--
extra : rebase_source : 296e269bb46fc5a85a9c3f90dfc0dc40e53572bc
2016-04-06 14:56:44 +02:00
JW Wang 2572fe3414 Bug 1256520 - use SyncRunnable to create DecodedStreamData synchronously to ensure the creation and destruction of DecodedStreamData happen in order. r=kikuo.
This greatly simplify the code because:
1. we don't have to dispatch the newly created DecodedStreamData to the work thread and store it to |mData|.
2. no need to deal with dispatch failure incurred by 1 due to task queue shutdown.
   (see: https://hg.mozilla.org/mozilla-central/file/f0c0480732d36153e8839c7f17394d45f679f87d/dom/media/mediasink/DecodedStream.cpp#l392)

MozReview-Commit-ID: FwySgwKp8dV
2016-03-15 08:54:52 +08:00
JW Wang 8be2af10c1 Bug 1258567 - per comment 3, ensure volume is only applied once to the AudioSegment. r=kinetik.
MozReview-Commit-ID: Bks59JySrep
2016-03-23 10:16:15 +08:00
Matthew Gregan d2da3ad7e8 Bug 1246108 - Don't restart completed audio streams. r=jwwang 2016-03-22 20:55:51 +13:00
JW Wang 1a90a30802 Bug 1248229. Part 2 - GC might happen in between OutputStreamManager::Disconnect() and OutputStreamManager::Connect(). We need to check if the stream is already destroyed before trying to connect it. r=roc.
MozReview-Commit-ID: EL3ip1yjNaz
2016-02-22 11:04:41 +08:00
JW Wang 8305f2e98d Bug 1248314. part 2 - move track initialization code into the constructor of DecodedStreamData. r=roc.
MozReview-Commit-ID: 2aQ7cXxRDTE
2016-02-15 11:41:31 +08:00
JW Wang fb95de6307 Bug 1248314. Part 1 - Since OutputStreamManager::Connect/Disconnect is tightly coupled with the constructor/destructor of DecodedStreamData, it would improve cohesion to let DecodedStreamData manage an OutputStreamManager and know when to call OutputStreamManager::Connect/Disconnect. r=roc.
MozReview-Commit-ID: Gg6WxMzAXSp
2016-02-15 11:39:13 +08:00
Jean-Yves Avenard c04fc8bec6 Bug 1237160: Do not count frames not composited as dropped. r=cpearce
This is a partial reversal of bug 1230338. We can't distinguish frames that are never composited because the media element is hidden from the frames genuinely dropped due to machine slowness. So until we can distinguish them, let's not report them as dropped.

MozReview-Commit-ID: ERV8Luaxp3F
2016-02-10 11:05:09 +11:00
Alastor Wu 28154f1f42 Bug 1242774 - only resolve promise when exist. r=jwwang. 2016-02-05 01:39:00 +01:00
JW Wang 4a525dc7dd Bug 1245542 - I suspect AudioData::mAudioData/mFrames are poisoned when sample format doesn't match the metadata. Let's ignore these samples to see if crash volume can be reduced. r=kinetik. 2016-02-05 10:19:12 +08:00
Birunthan Mohanathas d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas 373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
JW Wang b9727f12f3 Bug 1241003 - ignore AudioData with 0 frames to avoid silence. r=kinetik. 2016-01-21 21:14:42 +08:00
JW Wang 541dacf22b Bug 1240420. Part 1 - move checks of mismatched sample rate or channel numbers to AudioStream. r=kinetik. 2016-01-21 21:11:14 +08:00
JW Wang 31e6c6ee58 Bug 1240417. Part 1 - add a writer class to encapsulate pointer arithmetic. r=kinetik. 2016-01-18 11:24:06 +08:00
JW Wang ae5faca646 Bug 948267. Part 2 - implement AudioStream::DataSource for DecodedAudioDataSink and remove its audio thread. r=kinetik. 2016-01-12 21:48:25 +08:00
JW Wang 93bb6f7b7d Bug 1234424. Part 2 - remove unused code. r=roc. 2016-01-05 21:15:43 +08:00
JW Wang c892dcaefa Bug 1234424. Part 1 - share the underlying value of MDSM::mSameOriginMedia with DecodedStream. r=roc. 2016-01-05 21:15:37 +08:00
JW Wang 57b173ae94 Bug 1233650. Part 4 - remove unused functions from DecodedStream. r=roc. 2015-12-24 10:14:16 +08:00
JW Wang f7894b21a7 Bug 1233650. Part 3 - move creation of OutputStreamManager from DecodedStream to MDSM. r=roc. 2015-12-24 10:14:16 +08:00
JW Wang 7afdbac0f6 Bug 1233650. Part 2 - make OutputStreamManager ref-counted so it can be shared between MDSM and DecodedStream. r=roc. 2015-12-24 10:14:16 +08:00
JW Wang 8198911d8b Bug 1233650. Part 1 - extract OutputStreamManager to its own file. r=roc.
--HG--
rename : dom/media/mediasink/DecodedStream.cpp => dom/media/mediasink/OutputStreamManager.cpp
rename : dom/media/mediasink/DecodedStream.h => dom/media/mediasink/OutputStreamManager.h
2015-12-24 10:14:15 +08:00
JW Wang bcd91fefed Bug 1231091. Part 6 - fix test_streams_element_capture.html timeout. r=roc. 2015-12-22 08:42:38 +08:00
JW Wang a03dc1e4e1 Bug 1231091. Part 5 - Remove DecodedStream::IsFinished() and unused code. r=roc. 2015-12-22 08:42:38 +08:00
JW Wang 43c45372af Bug 1231091. Part 4 - ensure the end promise is resolved in the special case where video duration is 0. r=roc. 2015-12-22 08:42:38 +08:00
JW Wang 2bdedb0118 Bug 1231091. Part 3 - resolve the end promise when all frames are rendered. r=roc. 2015-12-22 08:42:38 +08:00
JW Wang 5cf3e3bfa5 Bug 1231091. Part 2 - return correct promises when audio/video track is asked. r=roc. 2015-12-22 08:42:38 +08:00
JW Wang 45b81db1ac Bug 1233648 - Fix some insufficient includes. r=kinetik. 2015-12-18 15:12:45 +08:00
JW Wang 480823b5c6 Bug 1232520 - dont' invoke AbstractThread::MainThread()->Dispatch() to avoid reentrant of AutoTaskDispatcher during tail dispatching phase. r=jya. 2015-12-18 11:50:32 +08:00
JW Wang f79563a6b5 Bug 1231075. Respect the timestamp of video frames and don't pop frames as fast as we can in real-time mode. r=roc. 2015-12-17 10:53:49 +08:00
JW Wang 9477651c83 Bug 1230882. Part 2 - remove DecodedStream::BeginShutdown() and other unused code. r=roc. 2015-12-14 11:32:19 +08:00
JW Wang f8c0036f90 Bug 1230882. Part 1 - destroy DecodedStreamData properly when dispatch fails. r=roc. 2015-12-14 11:32:18 +08:00
Matt Woodrow 6ef854d267 Bug 1230338 - Record video frames dropped by the compositor, or while flushing during skip-to-keyframe. r=jya 2015-12-04 13:33:21 +13:00
JW Wang 22151cf459 Bug 1218311 - Port the fix of bug 1193614 to VideoSink. r=cpearce. 2015-11-25 15:15:05 +08:00
Robert O'Callahan 472e6027ce Bug 1198663. Skip null Images in VideoSink::RenderVideoFrames instead of treating them as valid. r=jwwang
--HG--
extra : commitid : Dsr6BrRKse6
extra : rebase_source : dfff21c195243ddf3fb69cee92caf22da5383abd
2015-11-12 09:59:04 +13:00
sajitk 582e1a55fa Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian 2015-11-15 14:49:01 +01:00
Wes Kocher f3a9eb2a26 Backed out changeset 1e5f3d1151d6 (bug 1219480) for cpp unittest bustage CLOSED TREE
--HG--
extra : commitid : BMVKq6cPeho
2015-11-11 09:36:56 -08:00
sajitk 3cbe348cdd Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian
--HG--
extra : rebase_source : c73098485fa005d914304fb6e7f8eba3c15e66dc
2015-11-11 06:52:00 +01:00
Nathan Froyd 1f0804852a Bug 1220491 - clarify ownership relationships for creators of AudioData; r=gerald
The way we pass in AudioDataValue arrays into AudioData is non-uniform:
sometimes we have nsAutoArrayPtrs, sometimes we don't, and it's not
immediately obvious from the function signature of the constructor that
we're actually taking ownership of this array.  Let's fix that by using
UniquePtr<AudioDataValue[]> smart pointers to hold the data prior to
creating AudioData values, and for passing in to AudioData's
constructor.  Using standard-er C++ things instead of our homegrown ones
is a good thing.
2015-11-01 17:34:26 -05:00
JW Wang 32d2d557d7 Bug 1139256 - remove the assertion in AudioStream::GetPositionInFramesUnlocked(). See bug 1139256 comment 4 for the detail. r=kinetik. 2015-11-02 21:26:12 +08:00
Kilik Kuo 0bf3fd5a4f Bug 1194918 - Override function SetVolume/SetPreservesPitch in VideoSink for the contained AudioSink. r=jwwang. 2015-10-19 18:14:31 +08:00
Kilik Kuo 1f68a3c545 Bug 1194918 - Move av-sync and video frame rendering logic from MDSM to VideoSink. r=jwwang. 2015-10-19 18:08:11 +08:00
Kilik Kuo 12f5e4fabf Bug 1194918 - Add VideoSink which contains either AudioSinkWrapper or DecodedStreamSink as a default operating MediaSink in MDSM. r=jwwang. 2015-10-19 17:32:16 +08:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd 583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
JW Wang 74504dc15a Bug 1207915 - Apply the fix of bug 1052206 to DecodedStream. r=roc. 2015-09-28 05:46:47 +08:00
Carsten "Tomcat" Book 4fe48de950 Backed out 1 changesets (bug 1207915) for windows m3 test failures
Backed out changeset 84fd96dc7ddc (bug 1207915)
2015-09-24 11:44:25 +02:00
JW Wang 41104e7fe4 Bug 1207915 - Apply the fix of bug 1052206 to DecodedStream. r=roc. 2015-09-24 14:29:01 +08:00
Robert O'Callahan 1289d5e83f Bug 1189506. Call GraphTimeToStreamTime in DecodedStreamGraphListener::NotifyOutput, since there's no blocking pending there. r=karlt
--HG--
extra : commitid : 4DLFErvxqnP
extra : rebase_source : 00d7c561a1563b431c1098ea340603e252469c3d
2015-09-08 16:41:45 +12:00
Robert O'Callahan 13179ae295 Bug 1189506. Rename StreamTimeToGraphTime/GraphTimeToStreamTime to ...WithBlocking. r=karlt
--HG--
extra : commitid : 77I6WKoXbJA
extra : rebase_source : b289cbcb99c4bc52d70c78a6195c992bb5ba7ac1
2015-09-08 15:41:00 +12:00
Robert O'Callahan 53dbc8f50e Bug 1189506. Remove aFlags parameter from AllocateInputPort. r=karlt
--HG--
extra : commitid : GZuYprloPNM
extra : rebase_source : 17ca412dd6232ad5c739918500d959a03895a65c
2015-09-04 16:42:42 +12:00
Robert O'Callahan 86c380603b Bug 1189506. Convert ChangeExplicitBlockerCount to MediaStream::Suspend/Resume. r=padenot
--HG--
extra : commitid : EAfe35GbRPL
extra : rebase_source : f6da37f3a9e8eefbdcf3e6787ec7edcc99e53859
2015-09-11 01:45:36 +12:00
Robert O'Callahan 95ebfe3aa1 Bug 1189506. Don't bother blocking captured media-element MediaStreams while we're not decoding. r=jwwang
They should just run in realtime since we're getting rid of blocking.

--HG--
extra : commitid : K0MeENZ5JAa
extra : rebase_source : ed3cd908faa96fd4dab2f178836449774f085d27
2015-09-04 00:46:33 +12:00
JW Wang 962c356c98 Bug 1203449 - Remove OutputStreamListener from DecodedStream.cpp. r=roc. 2015-09-14 10:43:27 +08:00
JW Wang baa34189c7 Bug 1202540 - Remove MDSM::mPlayStartTime. r=kinetik. 2015-09-10 11:31:30 +08:00
Robert O'Callahan c578c7e771 Bug 1201393. Remove usage of FLAG_BLOCK_* from OutputStreamData::Connect. r=jwwang
We don't want to block stream decoding on the output MediaStream, or vice
versa.

--HG--
extra : commitid : 7YVsark1y97
extra : rebase_source : 81ab806d4ab93a2b4077fff27587014d5d04fa0f
2015-08-19 14:12:16 +12:00
JW Wang 6861793f66 Bug 1202533 - Fix naming convention of MediaSink::PlaybackParams. 2015-09-08 10:58:11 +08:00
JW Wang b853505d1f Bug 1199155. Part 2 - fix includes and forward declarations. r=roc. 2015-09-07 19:32:04 +08:00
JW Wang e5956970d2 Bug 1199155. Part 1 - move dom/media/DecodedStream.* to dom/media/mediasink/ and implement the interface of MediaSink. r=roc.
--HG--
rename : dom/media/DecodedStream.cpp => dom/media/mediasink/DecodedStream.cpp
rename : dom/media/DecodedStream.h => dom/media/mediasink/DecodedStream.h
2015-09-07 19:31:51 +08:00
JW Wang 11100ac183 Bug 1199121. Part 2 - handle the case where audio ends before video and switch to system clock for calculating playback position. r=kinetik. 2015-09-07 11:58:11 +08:00
JW Wang 3fe397c6bb Bug 1199121. Part 1 - add the ability to handle video-only streams to AudioSinkWrapper. r=kinetik.
Note AudioSinkWrapper can now report correct playback position when the media is video-only or audio-only.
We will handle the case where audio ends before video in next patch where it needs to switch to system clock when audio reaches the end.
2015-09-07 11:56:52 +08:00
JW Wang 8672e5e660 Bug 1199104. Part 2 - create AudioSinkWrapper. r=kinetik. 2015-09-02 14:11:28 +08:00
JW Wang ffa0ec4380 Bug 1199104. Part 1 - create MediaSink. r=kinetik. 2015-09-02 14:11:22 +08:00
Nicholas Nethercote f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Matthew Gregan dbad1f30f8 Bug 1198588 - Remove unused MSG-specific code from AudioStream. r=padenot 2015-08-27 14:49:17 +12:00
JW Wang 613a5755ba Bug 1198568 - Fix build error in non-unified build for DecodedAudioDataSink.cpp. r=kinetik. 2015-08-26 10:30:56 +08:00
Kilik Kuo 0581340a0a Bug 1188268 - Make AudioSink a base class, create DecodedAudioDataSink to act as original AudioSink, and move sink-related files to dom/media/mediasink. r=jwwang, r=cpearce
--HG--
rename : dom/media/AudioSink.cpp => dom/media/mediasink/DecodedAudioDataSink.cpp
rename : dom/media/AudioSink.h => dom/media/mediasink/DecodedAudioDataSink.h
2015-08-18 11:55:01 +08:00