History log of /frameworks/av/media/libstagefright/wifi-display/source/Converter.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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