Move in the direction of a more publishable API for configuring a
media player for retransmission. It used to be that we used a custom
invoke and a modified URL (prefixed with aahTX://). There are many
issues with this technique and it was never meant to stand the test of
time.
This CL gets rid of all that. A new (but currently hidden) method was
introduced to the java level MediaPlayer API, called
setRetransmitTarget(InetSocketAddress), which allows an app writer to
set the retransmit target. For now, this method needs to be called
before a call to setDataSource (which is pretty unusual for the
MediaPlayer API) because this mid level code uses this as a cue to
instantiate an aahTX player instead of relying on the data source to
select a player. When retranmit functionality becomes part of the
existing android player implemenation, this
set-retrans-before-set-data-source behavior can go away, along with
the aahTX player itself.
Change-Id: I6ab07d89b2eeb0650e634b8c3b7a0b36aba4e7dd
This reverts commit 64006cb1642b2ec0ee74c66007d869b884391fd1.
Back out this change in order to get ready to implement a longer term,
more media-team approved way of selecting a retransmit player.
Change-Id: I97b68b9859a174eab858598cb00d4445a14fbc17
* Added a MediaPlayer.setMediaPlayerType API that be called to specify the
desired media player implementation before calling setDataSource
* Implemented setDataSource(fd) in the AAH_TxPlayer
Change-Id: I359075d9c7d6fd699dda14eb85ec50da19307639
if we don't receive npt time mapping from the rtsp server (i.e. live stream)
Change-Id: I5147d665bd90c9a303ad6ffdafbf770f930f917c
related-to-bug: 5660357
No clients can signal a format change on either audio or video track (or both)
and a time discontinuity (timestamps changed) independantly.
Change-Id: I3e6cf4e7c260e85759879d61a9b517f68431c22f
related-to-bug: 5553055
a) one of the two decoders has a pending discontinuity
b) the renderer holds on to all output buffers for that decoder
c) the renderer is paused
if all three conditions are met the decoder won't ask for more input data
and therefore never see the discontinuity.
To avoid this we briefly resume the renderer just before shutting down.
Change-Id: I9e08af2a1eb4298d1cd00497d6aa33f4ad184e9a
related-to-bug: 5655016
Squashed merge from master-tungsten of the following changes:
commit e8b156c6b224f0fe5b6a81d5f92bade36275027c
Author: Jason Simmons <jsimmons@google.com>
Date: Fri Aug 12 10:28:48 2011 -0700
Add a null check to handle failure of android::createPlayer
Change-Id: Iacbbc90369a825838d4374b1f774c8880b25753b
commit 43be3231034ff8537fdd84422a7954780038671f
Author: John Grossman <johngro@google.com>
Date: Mon Jun 27 18:59:12 2011 -0700
Move libaah_rtp over from the vendor directory.
Also move factor PipeEvent out into utils.
Change-Id: Id3877c66efe22d771cf3ef4877107e431b828e37
commit 17526eb3148c9c3d4365b6d5b47e8dc13bca71b6
Author: John Grossman <johngro@google.com>
Date: Mon Jun 27 17:06:49 2011 -0700
Name changes for the TRTP Players s/tungsten/aah/g
Change-Id: I55e9ad13003f6aa6a36955b54426a7efbe31ac51
commit cbf2903ab6893b6e662514e2f6d670e268a419df
Author: John Grossman <johngro@google.com>
Date: Fri Apr 15 09:27:54 2011 -0700
Migrate Tungsten code from the HC-Tungsten to the Master-Tungsten branch.
Change-Id: I95372d913a0761d90168edb4016f5ece0ea74502
Change-Id: I73f3be191cd974933acddf52892e5600d253cc03
Signed-off-by: Mike J. Chen <mjchen@google.com>
Signed-off-by: John Grossman <johngro@google.com>
RTP library used to broadcast media from one device to a collection
of listeners. Handles failures/retries/etc.
This is a squashed merge from master-tungsten of the following changes:
commit e1a5101fe627d71739a7c4263bb3a65c7bc44385
Author: Jason Simmons <jsimmons@google.com>
Date: Fri Aug 12 13:24:21 2011 -0700
Hold ThreadWrapper in a ref-counting pointer
Change-Id: Iaf3343182e37bcc0ca99fbaf8f9bbb8c4984072a
commit 89b90d62e164ff3db27c9cba85255fc476d2dd96
Author: Jason Simmons <jsimmons@google.com>
Date: Wed Aug 10 13:08:25 2011 -0700
Update the Tungsten TX player to use HTTPBase
Change-Id: I9f7ecf1b4b496cec1815284dbcdb958a43284169
commit 43be3231034ff8537fdd84422a7954780038671f
Author: John Grossman <johngro@google.com>
Date: Mon Jun 27 18:59:12 2011 -0700
Move libaah_rtp over from the vendor directory.
Also move factor PipeEvent out into utils.
Change-Id: Id3877c66efe22d771cf3ef4877107e431b828e37
Change-Id: I5fe1ea941c09204d7b33f15f4e2b2ab320dc468b
Signed-off-by: Mike J. Chen <mjchen@google.com>
Signed-off-by: John Grossman <johngro@google.com>
Signed-off-by: Jason Simmons <jsimmons@google.com>
This change moves the ANativeWindow connect and disconnect logic from
MediaPlayer to MediaPlayerService::Client.
Bug: 5502654
Change-Id: Ifc43b98b01ad8f35d62d7ece43110724ec7fda3d
When decoding a file for the SoundPool, do not
reject the entire file in case of error but
return what was decoded so far instead.
Change-Id: Iff199a1b6a4c8e064e42a0dfe0704e0ae36a27fd
- Drastically cut down the number of times we supply the AudioSink with data
by estimating the time until the sink would run out of data and then scheduling
a refill in advance of that.
- Use a dedicated looper for video decoders since they are currently taking
too long to return from OMX_FillThisBuffer (bug 5325201)
- Revise thread priorities for the OMX dispatcher and software codecs, instead
of running them at ANDROID_PRIORITY_AUDIO, they now only run at
ANDROID_PRIORITY_FOREGROUND
- Since threads created by pthread_create inherit all of the parent threads
attributes including thread priority, briefly reset thread priority to
ANDROID_PRIORITY_FOREGROUND before instantiating OMX components and then
restore it.
Change-Id: If9332a3a20dad5485333d68c11de0d2d5d3fffc3
this change intends to support its very limited case and signals an error in
all other cases of unexpected PID changes that we cannot recover from.
Change-Id: Icbfdf9fe7461969e2a8781ed416f54d891dd789a
those that have a queue. This ensures that the player doesn't observe discontinuities
that don't match up across streams.
Also, make sure output buffers arriving from the decoder to be rendered are sent
back to the decoder if we started flushing.
Finally, don't parse TS packets for streams we don't support. And don't allocate
memory for them.
Change-Id: I708e0de4cba8110a62e4c8ceb1e5702430d5d2bb