summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display/source/Converter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* libstagefright: wfd: don't use intra macroblock refresh mode on omap4Ziyan2016-11-061-0/+2
| | | | | | | | | | | | | | Most, if not all OMAP4 Ducatis doesn't support intra macroblock refresh mode, causing the encoder to fail initializing. This patch disables intra macroblock refresh mode for wifi display on omap4. Note: Ideally, the decoder shouldn't fail if intra macroblock refresh mode can't be configured. However, that would trick higher layers into thinking that it's on, because they set that parameter. As of now, this mode seems to only ever be used for wifi display. Change-Id: I9696af8f22db82cc436a351e4d93bf7323588f43
* stagefright: warnings be gone, some are now errors, use clangLajos Molnar2015-04-171-1/+1
| | | | Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
* media: switch to new AMessage handlingLajos Molnar2015-03-051-8/+7
| | | | | Bug: 19607784 Change-Id: I94cddcb81f671422ad4982a23dc4acfe57a9f1aa
* MediaBuffer: ABuffer will release MediaBuffer when it's destructed.Wei Jia2014-09-191-36/+13
| | | | | Bug: 17454455 Change-Id: Ia423bcc2e1fa39137f114eac44912ed15357bb99
* Use changed MediaCodec.PARAMETER_KEY_VIDEO_BITRATE valueLajos Molnar2013-09-171-1/+1
| | | | | | Change-Id: I157bcafbf705865e66c81517b1eab10c3daa039e Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 10461617
* Minor tweaks to DirectRenderer and ConverterAndreas Huber2013-07-191-24/+115
| | | | | | | | Converter now supports automatic prepending of SPS/PPS to IDR frames (h264) as well as using the encoder in "surface-input" mode. The new features are all opt-in and should not affect existing clients. Change-Id: I543cf1d31ba068c1a01ab4e6814ac8d817b63faa
* Converter now takes the desired _output_ format instead of theAndreas Huber2013-06-121-28/+19
| | | | | | input format, allowing control over the type of encoding. Change-Id: Iaaa1a825f447ea130e373bbd8e5dc96f2762db18
* wifi-display: add support for metadata mode on encoder outputChong Zhang2013-05-171-6/+45
| | | | | | | | pass buffer_handle_t from encoder output to HDCP encryptor input Bug: 8968123 Change-Id: Iea8007ce568641e213fd2e3cf6947a6f7a95746c
* Fix miracast source code to ignore the encoder output format changeAndreas Huber2013-05-011-0/+7
| | | | | | | it doesn't care about. Change-Id: Iec1594775a98b0c1aba662cc9f08652d2f8d4805 related-to-bug: 8616651
* Adapt frame rate instead of keeping that constant and tweaking bitrateAndreas Huber2013-03-261-17/+5
| | | | Change-Id: I889abbbe1237e1a8fdd7135cdc91a2e9728ff39b
* In "special" mode we now establish a UDP RTCP channel in addition to theAndreas Huber2013-03-251-0/+17
| | | | | | | | TCP RTP channel and provide feedback on the latency of arriving packets from the sink back to the source. This information is then used to throttle video bitrate. Change-Id: Ic589a3cb65e4893a3ff67de947da6063d32a1c6e
* Attempt to recover from network stalls by dropping frames on the source side.Andreas Huber2013-03-131-0/+18
| | | | Change-Id: I5f9eb4f5acb624a9e5bc0087801fb5a4a9ade35c
* Refactoring: Rename SurfaceTextureClient to SurfaceMathias Agopian2013-02-151-1/+1
| | | | Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
* Allow for dynamic reconfiguration of the video bitrate usedAndreas Huber2013-02-071-0/+14
| | | | | | to encode video while running as a wfd source. Change-Id: I44f7b2350c88fc5807047c61bfe594ef8fa79275
* Properly release any MediaBuffer references associated with theAndreas Huber2012-12-201-19/+41
| | | | | | | | encoder input buffers on shutdown. This worked fine before for an orderly shutdown but didn't release all references in case of error. Change-Id: I0ea3eb26da76fbeb33cadf58d237b0c68a86ac4a related-to-bug: 7893090
* Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi ↵James Dong2012-11-281-1/+18
| | | | | | | | | | display The time interval between periodic neighboring IDR frames is increased from 1 second to 15 seconds. o related-to-bug: 7524791 Change-Id: Ic32f37448f952f329549eda5e73637ee3b02f046
* Various improvements of wifi display codeAndreas Huber2012-11-131-6/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - manually prepend SPS/PPS if encoder doesn't support it - latency improvements - support for "our" method of optional RTP retransmission - improvements to the wfd commandline tool for testing - make it easier to turn on/off suspension of the video pipeline on idle - fixes an issue where an error during encryption would cause a SEGV - add HDCP descriptor if necessary Squashed commit of the following: commit 1115be0ebb3b885b4f1b7dba56761ca013d0ec4a Author: Andreas Huber <andih@google.com> Date: Fri Nov 9 11:32:23 2012 -0800 Better shutdown of wfd -l sessions. Change-Id: Id898a14ae21efd3b065b00a729830063d39195a7 commit 0e7d106dfe4eb6e2640b0b66c65deaba265f7ff0 Author: Andreas Huber <andih@google.com> Date: Thu Nov 8 16:38:55 2012 -0800 No more sending delay, create rtp packets upfront. Change-Id: I809a225f664fdb485c7d9a49a27886601a6a26b2 commit d399e8571b77353d59afb57508dfd2a82c1ef93a Author: Andreas Huber <andih@google.com> Date: Thu Nov 8 14:19:43 2012 -0800 Restore AudioSource buffer size, factor out TimeSeries, make suspending video optional. Change-Id: Ifdfe4d447b901e714abf52856b4641d1d55a5d41 commit f8b649f0b8f917d59f4b8a2e8e6d7db61a684a78 Author: Andreas Huber <andih@google.com> Date: Thu Nov 8 09:34:06 2012 -0800 Pull 480 frames at a time from AudioSource/AudioRecord Change-Id: I1e215abd329faec3da026631122c0f4c800c0ac4 commit 1bc13452eb35eebbba00f5da93fa86535be5db59 Author: Andreas Huber <andih@google.com> Date: Thu Nov 8 08:50:30 2012 -0800 fixed bitrate traffic simulation Change-Id: Ic5efb7cbb0b5d3b4917bc77b8ba73d447249e695 commit 016cdff18e74bdc631a5679e97192645ed095aa2 Author: Andreas Huber <andih@google.com> Date: Wed Nov 7 14:00:03 2012 -0800 resurrected "our" style of retransmission. Change-Id: I34d757aba67428437cb39b8293a9651750ad20d9 commit 384cf1a3c8fb4ec410bdf8fa5722c298e6028f3e Author: Andreas Huber <andih@google.com> Date: Tue Nov 6 09:38:55 2012 -0800 Changes to make wfd work on manta. Change-Id: I7a4e00cf16581fe2146edd1b359af195774090e4 commit 9628f24b22b35f28630d99dda3614babf51bc07e Author: Andreas Huber <andih@google.com> Date: Wed Nov 7 09:15:44 2012 -0800 Patch up rtp timestamps to more accurately measure network jitter. Change-Id: I9502a4615575f97f98a215a13131a89a6ae93c6d commit 7c891a1a24f08bbd50f55be13f7d05f43e807eb8 Author: Andreas Huber <andih@google.com> Date: Tue Nov 6 09:37:24 2012 -0800 Additions to the "wfd" tool to create a local wfd source. Change-Id: I99558653a70fdc703f9d13990b3ce1c4d3ae227a Change-Id: Ia94c63fc390f597014531073485f0cfc53b3418a
* Make video encoders' bitrate mode (constant, variable, ...) configurableAndreas Huber2012-11-011-0/+3
| | | | | | | | through the desired output format. Configure the video encoder to use constant bitrate mode for WFD. Change-Id: Id7bd619598153c13448a9c5acd69d80f8a01f333 related-to-bug: 7459597
* Various tweaks to wfdAndreas Huber2012-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | related-to-bug: 7426218 Squashed commit of the following: commit 1553f1a1c66af998674168f7f7a3be23fcb0c794 Author: Andreas Huber <andih@google.com> Date: Tue Oct 30 15:51:27 2012 -0700 Add LPCM, AVC and AVC HRD descriptors as necessary. Change-Id: Ibc836fced0fe37e8a25574c2295e886765b9ea6f commit 4e74db61d2d31ebe239acbdec8f110f88016a4ea Author: Andreas Huber <andih@google.com> Date: Tue Oct 30 15:50:52 2012 -0700 added copyright headers to Sender.{cpp,h} Change-Id: If615ccb8767e32bd83ed1f0f669acc39a72489f6 commit 7144bf8ae68c5cdb8faa6e219547aabbd750f04e Author: Andreas Huber <andih@google.com> Date: Tue Oct 30 15:50:25 2012 -0700 Reenable suspension of the RepeaterSource Change-Id: I765338fcde89c65e4b69be45a5949eba6bcdcf6f commit 812164bcfa0699821d7d8eefcc0dff96b2e2cd08 Author: Andreas Huber <andih@google.com> Date: Tue Oct 30 14:03:50 2012 -0700 Add 2 stuffing bytes to the PES headers for audio tracks. Change-Id: I8b9c634f6a565ab7fa7ecdb610f7d8557e0b139b commit a084a741a63015d47c92d99fcd8b980fe615dc7d Author: Andreas Huber <andih@google.com> Date: Tue Oct 30 13:19:38 2012 -0700 Fix PCM audio packetization in WFD. Change-Id: I99a435f9fe6b4397f24d6c22afae5ae2505ffc14 commit c5cb9369585f701f34bce41534940d5f9b59248f Author: Andreas Huber <andih@google.com> Date: Tue Oct 30 13:19:12 2012 -0700 Support extraction of PCM audio from transport streams. Change-Id: I28a0516756ebcb5587325b6588df013ac871ffb9 commit b0a0512300ae037d6b39c2d04952d34b5fc12b2d Author: Andreas Huber <andih@google.com> Date: Tue Oct 30 08:54:13 2012 -0700 disable suspend of the RepeaterSource Change-Id: Ibf42a98185b0567f817ae582a82e6580f95d3d40 commit 4330e8b7668dc92a6d882b5622c0697cf292d04c Author: Andreas Huber <andih@google.com> Date: Mon Oct 29 14:11:25 2012 -0700 Better handling of datagrams in ANetworkSession reduce unnecessary copy overhead. Change-Id: I2ed8c767274ba07764f03e8d4913041168e5755f commit a44e73c322ba3f2c336f7cc4e1d63d3a74faa75d Author: Andreas Huber <andih@google.com> Date: Mon Oct 29 11:14:47 2012 -0700 Network traffic is now handled on a separate thread. Audio and video are queued to ensure proper A/V interleaving. Scheduled packet sends according to capture timestamps to reduce send-jitter. Change-Id: Ibd6357c1e663086cf87bec0a98f8e54dfdfaa0e5 related-to-bug: 7426218 Change-Id: Ia440129d656c35814abf18df06da50b73d5bb554
* Increase bitrate now that other issues have been resolved.Dave Burke2012-10-261-1/+1
| | | | | Bug: 7426218 Change-Id: I67dfa1e4b85f326f355ad0ec5b6c699e87b45564
* Optionally emit LPCM audio instead of using AAC in wifi display codeAndreas Huber2012-10-041-9/+145
| | | | | | | | | | | | related-to-bug: 7248248 May decrease power usage at the cost of significantly increasing audio bitrate. Use "adb shell setprop media.wfd.use-pcm-audio true" to turn it on (must be done before connecting). Change-Id: I7ebeadf3209e01522a2644948287b23d7c383c7e
* Drop video bitrate to 2.5mbps.Dave Burke2012-10-031-1/+1
| | | | | | | | | We have too much corruption/loss at higher bitrates. Reviewed quality trade-off with jdong@. We can increase in the future if we have a better packet loss concealment solution. Bug: 7241844 Change-Id: I3b500a9c3a4429e834fb4c5ca04164d4e106fa9e
* Better power savings with wifi display code.Andreas Huber2012-10-031-6/+33
| | | | | | | | No more polling the encoder for work to do, the encoder instead notifies if there's activity. Change-Id: Ia707211b4f5c5a6e6b70d750233d204a2d6bb778 related-to-bug: 7248248
* Increase polling frequency again temporarily to fix A/V issuesAndreas Huber2012-10-031-14/+15
| | | | | | | | Fixes a bug in the silence detection and increases the timeout after which we enter "silent mode" to 10 secs. Change-Id: I802b058f054becd5c377186664437f7b3970193f related-to-bug: 7248248
* Enable silence detection and don't driver the audio encoderAndreas Huber2012-10-021-12/+68
| | | | | | | | or send any audio out over the network if we've seen at least one second of silence. Change-Id: Ic2bca4ce7d55bd246283dc669f5f5cb6106d88ea related-to-bug: 7248248
* Now back to 30fps, suspend updates if surface flinger didn't send usAndreas Huber2012-10-021-1/+1
| | | | | | | any new frames for one second or longer. Change-Id: I1c2ec349b0a4b7c4eb9dcdde483362ec87dd69fa related-to-bug: 7248248
* Increase converter polling interval.Andreas Huber2012-10-021-1/+1
| | | | | Change-Id: I455005086a63c70883a71e189753a117b195f22f related-to-bug: 7248248
* Take advantage of the hardware encoder's ability to prepend SPS/PPSAndreas Huber2012-10-021-1/+1
| | | | | | | to IDR frames instead of doing it manually. Change-Id: I994cfbd6539013406dd610393ba1f0b9a0dbf4d5 related-to-bug: 7245308
* Use incremental updates sent by surface flingerAndreas Huber2012-10-011-1/+1
| | | | | | | instead of running at a fixed framerate. Change-Id: Ia3f36aa449e2e952bf3263ffbb709a9b79b09c26 related-to-bug: 7266398
* Even cleaner shutdown.Andreas Huber2012-09-281-4/+0
| | | | | Change-Id: I5a76f83db3a5e43f55eb4e04269d890c2015bae7 related-to-bug: 7247918
* Tell the encoder to emit SPS/PPS before IDR frames in wifi display code.Andreas Huber2012-09-281-0/+8
| | | | | Change-Id: Ic40e09b66784dd2e370d30b688d50561a47ab85a related-to-bug: 7245308
* Various improvements to a cleaner shutdown of the wifi display connection.Andreas Huber2012-09-281-30/+75
| | | | | Change-Id: Id029a89939e53c2bd1d20e572d3975ec2795c239 related-to-bug: 7247918
* Tune WFD audio bitrate (did some listening tests).Dave Burke2012-09-271-1/+1
| | | | | | Bug: 7241844 Change-Id: I5243f7a771871e650c6c2f380e0e81e7671c7bac
* Tune iframe interval to 1sec.Dave Burke2012-09-261-1/+1
| | | | | | Bug: 7241844 Change-Id: Iae0d73ecc680f6fa69d82ee2e8fac18ebece7782
* 720p24 i-frames every 2 secs.Andreas Huber2012-09-261-2/+2
| | | | | | related-to-bug: 7239971 Change-Id: I4cbf7e9b878b180b0683656e9e8c0a6bb18e06dc
* Add some more logging, reduce startup delay to 1 sec.Andreas Huber2012-09-251-0/+4
| | | | Change-Id: Ic24a3d9e3e645288411efb46f7004d89e7a0a4b7
* Tune video bitrate to 5 mbps.Dave Burke2012-09-241-1/+1
| | | | Change-Id: Ieb7ab1675db6fb21087a1258465f866ecdc5475b
* Tune video bitrate to 2.5 MBPS.Dave Burke2012-09-201-2/+1
| | | | | | Temporary workaround for buggy firmware (desired is 5 MBPS). Change-Id: I9fb0af31ca07c9bfdc6f790b7c98ca546eaf2985
* Support IDR requests in wifi display, MediaCodec and ACodec.Andreas Huber2012-09-131-0/+21
| | | | Change-Id: I596cf8dd61b63465437f78413186fad2be287244
* Better video bandwidth utilization by not lying about the frame rate.Andreas Huber2012-09-131-1/+1
| | | | | | log network bandwidth used (for data traffic). Change-Id: I043018624b3f02d94fa9c0cb9d15a6b2f2bd2eab
* Various improvements to cleanly shutdown a wfd session.Andreas Huber2012-09-131-0/+4
| | | | Change-Id: I86f0a27d7e8eb96200153bab847a862f21a19d13
* Audio and video bitrate are now configurable through system propertiesAndreas Huber2012-09-131-2/+23
| | | | | | | | | adb shell setprop media.wfd.audio-bitrate 64000 adb shell setprop media.wfd.video-bitrate 10000000 are the defaults. Change-Id: Ib4d700748bdac2adffc6e7e31aff9c9f998e20f0
* Various improvements to the wifi display implementation.Andreas Huber2012-09-121-1/+1
| | | | | | | | Using a MediaPuller now, audio and video on their separate threads. No more flushing the RTP stream on audio tracks, since it wastes too much of a full size UDP packet. Change-Id: I53346b4aea739c3142da13bd179428503a3c98b0
* Configure the SurfaceMediaSource to emit the same number of buffersAndreas Huber2012-09-041-0/+4
| | | | | | | as the video encoder allocates for its input. Do this before connecting the bufferqueue through surface flinger. Change-Id: Ibc81db1359afe2d88fdb75b23fadae65c8a6f7cc
* Transmit frames at a higher frame rate for smoother updates, increaseAndreas Huber2012-08-301-2/+2
| | | | | | video bandwidth to 5 Mbit/sec. Change-Id: Ieb9051b0f29d5a20004d1b3befdb745bc67769c7
* Initial checkin of support for acting as a wifi display sourceAndreas Huber2012-08-291-0/+281
Change-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a