History log of /frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
96e92b58b7e9647b4c7c2f54b62a1b357ab06b66 19-Sep-2014 Wei Jia <wjia@google.com> MediaBuffer: ABuffer will release MediaBuffer when it's destructed.

Bug: 17454455
Change-Id: Ia423bcc2e1fa39137f114eac44912ed15357bb99
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
530fdbdc1b5491f3fbf172752834d1515701e142 18-Sep-2013 Lajos Molnar <lajos@google.com> Use changed MediaCodec.PARAMETER_KEY_VIDEO_BITRATE value

Change-Id: I157bcafbf705865e66c81517b1eab10c3daa039e
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10461617
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
a05822a368dfc8c220b413c3d23dcc1af58b4b5f 19-Jul-2013 Andreas Huber <andih@google.com> Minor tweaks to DirectRenderer and Converter

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
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
9fef8d453b15a91a2b748faac2bfaff713bcf1e1 12-Jun-2013 Andreas Huber <andih@google.com> Converter now takes the desired _output_ format instead of the

input format, allowing control over the type of encoding.

Change-Id: Iaaa1a825f447ea130e373bbd8e5dc96f2762db18
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
308bcaa44e578279e61be32b572fdb0b11b1e4c7 04-May-2013 Chong Zhang <chz@google.com> wifi-display: add support for metadata mode on encoder output

pass buffer_handle_t from encoder output to HDCP encryptor input

Bug: 8968123

Change-Id: Iea8007ce568641e213fd2e3cf6947a6f7a95746c
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
b489b1639c0c12fdd498def46d3f5be3e1fdf6b9 02-May-2013 Andreas Huber <andih@google.com> Fix miracast source code to ignore the encoder output format change

it doesn't care about.

Change-Id: Iec1594775a98b0c1aba662cc9f08652d2f8d4805
related-to-bug: 8616651
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
eaf5381f38bf6c3ecb5fe32a8351c26a447549f5 26-Mar-2013 Andreas Huber <andih@google.com> Adapt frame rate instead of keeping that constant and tweaking bitrate

Change-Id: I889abbbe1237e1a8fdd7135cdc91a2e9728ff39b
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
2aea9552aeba92bbaf9e56c666049ea2d14057b5 25-Mar-2013 Andreas Huber <andih@google.com> In "special" mode we now establish a UDP RTCP channel in addition to the

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
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
126568c7aeeb5570789e70a310477f44dbdbd885 12-Mar-2013 Andreas Huber <andih@google.com> Attempt to recover from network stalls by dropping frames on the source side.

Change-Id: I5f9eb4f5acb624a9e5bc0087801fb5a4a9ade35c
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
1a2952aee048ca7b1765e2bc09ebe9aeddaeafa3 15-Feb-2013 Mathias Agopian <mathias@google.com> Refactoring: Rename SurfaceTextureClient to Surface

Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
a2eb22c1de262aa3fa7c356537ac2fe165afdf3d 07-Feb-2013 Andreas Huber <andih@google.com> Allow for dynamic reconfiguration of the video bitrate used

to encode video while running as a wfd source.

Change-Id: I44f7b2350c88fc5807047c61bfe594ef8fa79275
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
c8e07e483c116ecaca1c9c6991588607f1187b75 20-Dec-2012 Andreas Huber <andih@google.com> Properly release any MediaBuffer references associated with the

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
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
13e8a0e8a14faaf3fe0bcebf4da1f2694d59565d 16-Nov-2012 James Dong <jdong@google.com> Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi 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
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
0224bf170a3904576bba81593eaab113c5d3a4e7 12-Nov-2012 Andreas Huber <andih@google.com> Various improvements of wifi display code

- 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
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
96076964863ee6887f0bed9d0f11f424b48ab9b9 01-Nov-2012 Andreas Huber <andih@google.com> Make video encoders' bitrate mode (constant, variable, ...) configurable

through the desired output format. Configure the video encoder to use
constant bitrate mode for WFD.

Change-Id: Id7bd619598153c13448a9c5acd69d80f8a01f333
related-to-bug: 7459597
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
90a92053219ae50ddf4bb54e3d54db2d309e2b8d 30-Oct-2012 Andreas Huber <andih@google.com> Various tweaks to wfd

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
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
2295ce2c6fcf07ffaa134440691a8cea5fe35b43 27-Oct-2012 Dave Burke <daveburke@google.com> Increase bitrate now that other issues have been resolved.

Bug: 7426218
Change-Id: I67dfa1e4b85f326f355ad0ec5b6c699e87b45564
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
e7bd24af08ef0722fb124a550662bcec48c56f86 04-Oct-2012 Andreas Huber <andih@google.com> Optionally emit LPCM audio instead of using AAC in wifi display code

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
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
9f71aed36f7bb58fd8b077a5c6e414fc4af1805c 03-Oct-2012 Dave Burke <daveburke@google.com> Drop video bitrate to 2.5mbps.

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
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
575a5361fc970476cd7979638ee3ac00cc6e5024 03-Oct-2012 Andreas Huber <andih@google.com> Better power savings with wifi display code.

No more polling the encoder for work to do, the encoder instead notifies
if there's activity.

Change-Id: Ia707211b4f5c5a6e6b70d750233d204a2d6bb778
related-to-bug: 7248248
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
8d16bbc5a354d302abfd912b8d88d9c7feb3948f 03-Oct-2012 Andreas Huber <andih@google.com> Increase polling frequency again temporarily to fix A/V issues

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
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
cf2604f8940093e249ed7e5382c12ba544a48545 02-Oct-2012 Andreas Huber <andih@google.com> Enable silence detection and don't driver the audio encoder

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
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
4a8b9a2363b7b7b4f98022e6d9aae8b8aa8e35e5 02-Oct-2012 Andreas Huber <andih@google.com> Now back to 30fps, suspend updates if surface flinger didn't send us

any new frames for one second or longer.

Change-Id: I1c2ec349b0a4b7c4eb9dcdde483362ec87dd69fa
related-to-bug: 7248248
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
21daec5798f7e13c5ab6b513d27b3f79d4779bca 02-Oct-2012 Andreas Huber <andih@google.com> Increase converter polling interval.

Change-Id: I455005086a63c70883a71e189753a117b195f22f
related-to-bug: 7248248
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
c6920dfdca378a168a2168f4a64d21af4d37d539 02-Oct-2012 Andreas Huber <andih@google.com> Take advantage of the hardware encoder's ability to prepend SPS/PPS

to IDR frames instead of doing it manually.

Change-Id: I994cfbd6539013406dd610393ba1f0b9a0dbf4d5
related-to-bug: 7245308
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
ee178668818eb4f43ff40735405f8fc42372620f 02-Oct-2012 Andreas Huber <andih@google.com> Use incremental updates sent by surface flinger

instead of running at a fixed framerate.

Change-Id: Ia3f36aa449e2e952bf3263ffbb709a9b79b09c26
related-to-bug: 7266398
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
77245813007cf903b4b73f5d0cd20313fbf0e510 29-Sep-2012 Andreas Huber <andih@google.com> Even cleaner shutdown.

Change-Id: I5a76f83db3a5e43f55eb4e04269d890c2015bae7
related-to-bug: 7247918
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
3a0ef0dc71f3776d115f30d87f1d8867daefea88 28-Sep-2012 Andreas Huber <andih@google.com> Tell the encoder to emit SPS/PPS before IDR frames in wifi display code.

Change-Id: Ic40e09b66784dd2e370d30b688d50561a47ab85a
related-to-bug: 7245308
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
96fc6cc65ca93009a759a3a874b82a35771b9714 28-Sep-2012 Andreas Huber <andih@google.com> Various improvements to a cleaner shutdown of the wifi display connection.

Change-Id: Id029a89939e53c2bd1d20e572d3975ec2795c239
related-to-bug: 7247918
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
f58cac48e5732dbc4a5f33eed9cd39f109146ca4 27-Sep-2012 Dave Burke <daveburke@google.com> Tune WFD audio bitrate (did some listening tests).
Bug: 7241844

Change-Id: I5243f7a771871e650c6c2f380e0e81e7671c7bac
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
ee93c8c0f65cc1965ca09c9e33ae672f8bc9b88c 27-Sep-2012 Dave Burke <daveburke@google.com> Tune iframe interval to 1sec.
Bug: 7241844

Change-Id: Iae0d73ecc680f6fa69d82ee2e8fac18ebece7782
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
72ff5903df5f409ea83f74c363a52f0745ced8b8 26-Sep-2012 Andreas Huber <andih@google.com> 720p24 i-frames every 2 secs.

related-to-bug: 7239971

Change-Id: I4cbf7e9b878b180b0683656e9e8c0a6bb18e06dc
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
92f655fe351a5f2eb7d36123d2b687d6e7e3e913 24-Sep-2012 Andreas Huber <andih@google.com> Add some more logging, reduce startup delay to 1 sec.

Change-Id: Ic24a3d9e3e645288411efb46f7004d89e7a0a4b7
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
2a865ad8d45940bc824c02a8a8558cbcb97acc88 25-Sep-2012 Dave Burke <daveburke@google.com> Tune video bitrate to 5 mbps.

Change-Id: Ieb7ab1675db6fb21087a1258465f866ecdc5475b
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
086f958a7e539acffb637b42f5a6998184544179 21-Sep-2012 Dave Burke <daveburke@google.com> Tune video bitrate to 2.5 MBPS.

Temporary workaround for buggy firmware (desired is 5 MBPS).

Change-Id: I9fb0af31ca07c9bfdc6f790b7c98ca546eaf2985
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
496238cc7551d414067dcbbb4fe3bd801f205f95 14-Sep-2012 Andreas Huber <andih@google.com> Support IDR requests in wifi display, MediaCodec and ACodec.

Change-Id: I596cf8dd61b63465437f78413186fad2be287244
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
dca352880e210e0ca0ff39de074540d3640ecfab 13-Sep-2012 Andreas Huber <andih@google.com> Better video bandwidth utilization by not lying about the frame rate.

log network bandwidth used (for data traffic).

Change-Id: I043018624b3f02d94fa9c0cb9d15a6b2f2bd2eab
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
a438123bd96c7faf145683876702387efe5628d9 13-Sep-2012 Andreas Huber <andih@google.com> Various improvements to cleanly shutdown a wfd session.

Change-Id: I86f0a27d7e8eb96200153bab847a862f21a19d13
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
44b59fd9326026d3f82dec25cde48c589b0438e7 12-Sep-2012 Andreas Huber <andih@google.com> Audio and video bitrate are now configurable through system properties

adb shell setprop media.wfd.audio-bitrate 64000
adb shell setprop media.wfd.video-bitrate 10000000

are the defaults.

Change-Id: Ib4d700748bdac2adffc6e7e31aff9c9f998e20f0
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
e1957358f11031a554c57d4fb46988dd6044acc1 12-Sep-2012 Andreas Huber <andih@google.com> Various improvements to the wifi display implementation.

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
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
66e72bc85fb762876baff60ef29de729da93cf26 05-Sep-2012 Andreas Huber <andih@google.com> Configure the SurfaceMediaSource to emit the same number of buffers

as the video encoder allocates for its input. Do this before connecting
the bufferqueue through surface flinger.

Change-Id: Ibc81db1359afe2d88fdb75b23fadae65c8a6f7cc
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
e05a679401c7baeb0f82ce105eb20ae1ec863cdf 30-Aug-2012 Andreas Huber <andih@google.com> Transmit frames at a higher frame rate for smoother updates, increase

video bandwidth to 5 Mbit/sec.

Change-Id: Ieb9051b0f29d5a20004d1b3befdb745bc67769c7
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
d7bee3a9d2ad76d073d91f0ee36d5ac5f9df480c 29-Aug-2012 Andreas Huber <andih@google.com> Initial checkin of support for acting as a wifi display source

Change-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a
/frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp