5284 Commits

Author SHA1 Message Date
Andreas Huber
9100473a7e Merge "I have one HLS stream that switches stream PIDs from one bandwidth to the next" 2011-08-31 16:44:49 -07:00
Andreas Huber
afbb70b48e Merge "Discontinuities are only signalled on streams that have been identified, i.e." 2011-08-31 16:44:43 -07:00
Andreas Huber
eeddb0e504 I have one HLS stream that switches stream PIDs from one bandwidth to the next
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
2011-08-31 16:29:05 -07:00
Andreas Huber
ea8c9b1bd9 Discontinuities are only signalled on streams that have been identified, i.e.
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
2011-08-31 15:35:49 -07:00
Pannag Sanketi
d318b73e8e Merge "Update SurfaceMediaSource_test to not use pbuffer configs" 2011-08-31 15:09:26 -07:00
James Dong
e3fb1cb1b1 Merge "Fix a crash where the EOS was signalled but some output buffer were still pending." 2011-08-31 14:17:18 -07:00
Eino-Ville Talvala
b2c4f0bf11 Merge "Fix SurfaceMediaSource timestamp handling." 2011-08-31 13:41:06 -07:00
Eric Laurent
16b241a58f Merge "Change condition to enter silent mode." 2011-08-31 12:59:28 -07:00
Jean-Michel Trivi
528e382f48 Merge "Fix 5242200 only update RemoteControlDisplay when a client is present" 2011-08-31 12:03:50 -07:00
Jean-Michel Trivi
3387945766 Fix 5242200 only update RemoteControlDisplay when a client is present
A precondition for updateRemoteControlDisplay_syncRcs() is that
 mRCStack is not null. This condition was not verified when
 registering a RemoteControlDisplay.

Change-Id: I0b152410e57c590114b387e9ab83f0c4d15d060d
2011-08-31 11:52:16 -07:00
Gloria Wang
3727e3d80d Merge "Stop the AudioSource in reset() of AwesomePlayer if AudioSource is not NULL and AudioPlayer was not started. Fix for 5236419." 2011-08-31 10:37:48 -07:00
Gloria Wang
e28857c125 Stop the AudioSource in reset() of AwesomePlayer if AudioSource is not NULL
and AudioPlayer was not started.
Fix for 5236419.

Change-Id: I5eadd069118c3533a19b5d6f6dca2ce16d8505fb
2011-08-31 10:24:18 -07:00
Eric Laurent
3d4c06f907 Change condition to enter silent mode.
Previously, silent mode was entered if volume was already at 0 and
volume down key was pressed once.

The new volume management policy specifies that silent mode is entered when
volume is at last audible step and volume down key is pressed once.

Change-Id: Id3e75a99c522d8afe276868010b6e73495d23fde
2011-08-31 09:47:24 -07:00
Andreas Huber
49fb943db8 Merge "ATSParser now supports a mode in which PTS is considered to be absolute time" 2011-08-31 09:44:57 -07:00
Pannag Sanketi
e753750a82 Update SurfaceMediaSource_test to not use pbuffer configs
SurfaceMediaSource_test now does not use pbuffer configs
to create a surface. Always uses a window config.
Also, cleaned up the test a bit.

Change-Id: Idda40dcb8474249eccaa8d2dad20ee840d2dd484
2011-08-30 22:36:41 -07:00
Jean-Michel Trivi
5ad4b9fb96 RemoteControlClient metadata: add method for metadata of long type
Update to the RemoteControlClient.Editor API:
 - new method for setting metadata of type long
 - methods for setting metadata throw an exception if using
    the wrong key with the wrong method.

Note that this change will cause the Music2 application to
 throw an exception when it tries to set the duration as a string.

Change-Id: I17cff86467851a0aff313c07653e752ae6b6180f
2011-08-30 18:42:33 -07:00
James Dong
58c524ec03 Fix a crash where the EOS was signalled but some output buffer were still pending.
Change-Id: Ide111264501441b51bb10629ae2021accf9e1fb5
related-to-bug: 5234126
2011-08-30 17:06:10 -07:00
Andreas Huber
ebd266c034 ATSParser now supports a mode in which PTS is considered to be absolute time
i.e. PTS 0 <=> media time 0

Change-Id: If10a0f98c129b95e8430dc419664b1def92e547e
2011-08-30 16:06:28 -07:00
Jean-Michel Trivi
2261c7d645 Merge "Bug 5045498 Force display update when display registers" 2011-08-30 15:14:12 -07:00
Jean-Michel Trivi
958bba6862 Bug 5045498 Force display update when display registers
When an IRemoteControlDisplay registers, cause the
 RemoteControlClient to send all its information to the newly
 registered display.
The previous code was only sending a request for update: this
 request didn't here cause the client to send the data because
 a new client generation had not been synchronized among clients
 and displays.
This CL uses the same code path to force an update as when audio
 focus changes, or a new client registers, by calling the same
 method that is called in those cases,
 updateRemoteControlDisplay_syncRcs(flags).
Also in this CL: more method renames to indicate methods that
 are called synchronized on mRCStack.

Change-Id: I54102f45ba1cd4812d958ecd883bec7bc45ae88f
2011-08-30 14:48:31 -07:00
Jamie Gennis
8d102eb672 Merge changes I33f59705,Ia4c8c822,I2fb695ab,I2e587afc
* changes:
  MediaDump: use the MediaPlayer#setSurface method
  HTML5VideoView: switch to MediaPlayer#setSurface
  MediaPlayer: unhide the setSurface method
  Surface: unhide the SurfaceTexture ctor
2011-08-30 14:38:56 -07:00
Rajneesh Chowdury
c847b1a89d Fix for 5156702 Rotate video output for thumbnails and export
This is part of a multi project submit.
This is the Java and Jni changes.

Change-Id: I8851f5d865e657b7846bcded38e752f388f95895
2011-08-30 12:44:44 -07:00
Eric Laurent
0e35c78d25 Merge "226483: A2DP connected, but music out to speaker" 2011-08-30 10:51:54 -07:00
Eino-Ville Talvala
728e08bc3f Fix SurfaceMediaSource timestamp handling.
Was not basing timestamps on startTimeUs.
Now synchronizes properly with audio.

Bug: 4510826
Change-Id: I613db0aa91e51fc75d120e65540e742d8ab2ae43
2011-08-30 10:49:15 -07:00
Eric Laurent
05ce094164 226483: A2DP connected, but music out to speaker
When the A2DP headset is connected, there is a possible
race condition when the audio tracks are moved from
the mixer thread attached to the speaker output to the thread
attached to A2DP output.
As the request to clear the stream type to output mapping cache in
the client process is asynchronous, it is possible that the flag
indicating to the client audio track to re-create the IAudioTrack
on the new thread is processed before the cache is invalidated.
In this case, the track will be attached to the old thread and
music will continue playing over the device speaker instead of being
redirected to A2DP headset.

Change-Id: Ib2ce1eb5320eaff83287b93779061bf4e7a330df
2011-08-30 10:19:38 -07:00
Jean-Michel Trivi
c5d0fac081 Merge "Bug 5156756 Fix AAC ADTS header size computation" 2011-08-30 09:06:36 -07:00
Rajneesh Chowdury
90200ee4e2 Merge "5106773 Can't export a movie - Error returned from OMX API in ducati" 2011-08-29 20:43:11 -07:00
Rajneesh Chowdury
8f7bf02506 5106773 Can't export a movie - Error returned from OMX API in ducati
Video Editor engine wrongly set the profile in place of level.
So level was always 1 (default value for Profile)

Change-Id: I202f866d32e81869d9692174d59d9d777a772282
2011-08-29 20:16:22 -07:00
Jean-Michel Trivi
59fe406b3a Bug 5156756 Fix AAC ADTS header size computation
This previous frame size computation code had two incorrect
 assumptions:
 1/ the ADTS frame length value already contains the header size
 2/ the ADTS header is not of fixed size: it is 2 bytes bigger
  if it contains the CRC value.
For 1/, the code worked because when the header size was added
 to the frame size, the + operator is of stronger precedence
 than the ? operator, so the size added was always 0 (instead
 of ADTS_HEADER_LENGTH.
For 2/, the code worked as long as there was no CRC in the ADTS
 data.

The fix consists in:
 - documenting what the frame length computation code returns
 - fixing the frame length computation
 - when computing the frame length, also returning the header
  size so the correct data can be sent to the decoder.

Change-Id: I92df72a9e531f594f762e63d62f9dee7b0109904
2011-08-29 18:56:55 -07:00
James Dong
2a45102186 Merge "The test application falsely reports that the test result even if the test failed." 2011-08-29 15:28:23 -07:00
James Dong
4afbe2ec75 The test application falsely reports that the test result even if the test failed.
Change-Id: Ia632f04da73642dc4c1e3147b16664b5672108bc
2011-08-29 14:40:52 -07:00
Jamie Gennis
af4fccf0c0 MediaDump: use the MediaPlayer#setSurface method
This change updates the MediaDump test to use the new
MediaPlayer#setSurface method in place of MediaPlayer#setTexture, which
will be removed.

Change-Id: I33f59705c728f0884452d45cf83cb5b80f66a95a
2011-08-29 14:33:11 -07:00
Jamie Gennis
b283dc64bc MediaPlayer: unhide the setSurface method
Change-Id: I2fb695ab918d1099ad7cc51bfd436712a0b640d9
2011-08-29 14:33:10 -07:00
Andreas Huber
499f36581c Merge "Return an error to the client instead of asserting if decoder instantiation fails" 2011-08-29 13:47:24 -07:00
Andreas Huber
07754c513f Return an error to the client instead of asserting if decoder instantiation fails
after a surface change.

Change-Id: Ic7758cbeb107032db68a1c3b8e2984710a12dd8b
related-to-bug: 5212725
2011-08-29 13:01:23 -07:00
Jean-Michel Trivi
2db44c5838 Merge "Update IRemoteControlDisplay when it registers." 2011-08-29 10:09:04 -07:00
Jean-Michel Trivi
db8a361629 Update IRemoteControlDisplay when it registers.
When an IRemoteControlDisplay registers, it must receive information
 from the current client.

Change-Id: Id845e7a87ac74c2db2c59e0281b28a45f8d20528
2011-08-29 09:57:18 -07:00
Jean-Michel Trivi
aca6d629e2 Merge "Cannot compare Binder references for RC display to unregister" 2011-08-29 08:56:23 -07:00
Andreas Huber
b3c084af16 Merge "Signal errors to the client instead of asserting in ACodec." 2011-08-29 08:10:56 -07:00
Pannag Sanketi
3451df1a5c Merge "Default W, H allowed in SurfaceMediaSource dequeue" 2011-08-28 14:40:26 -07:00
Pannag Sanketi
2b9c5d8a89 Merge "Fixing small syntax error in MPEG4 logging" 2011-08-26 20:01:46 -07:00
Pannag Sanketi
5cfcfb22d6 Fixing small syntax error in MPEG4 logging
Found that the build was breaking when the logging was enabled in
MPEG4Writer. Fixed.

Change-Id: I62c5e6d16b2ecf5644c8d46b9bbcca68a797b223
2011-08-26 19:18:57 -07:00
Jean-Michel Trivi
7309c83b95 Cannot compare Binder references for RC display to unregister
Cannot trust references to IRemoteControlDisplay to remain the
 same when removing a RemoteControlDisplay, compare the
 result of .asBinder() instead.

Change-Id: Ib2e82aa24bd4b12804bccff94a6a0090ff83bea8
2011-08-26 18:54:44 -07:00
Jean-Michel Trivi
28c5b96d84 Merge "Address multiple RemoteControlDisplay competing for registration" 2011-08-26 18:17:40 -07:00
Jean-Michel Trivi
18e7bce523 Address multiple RemoteControlDisplay competing for registration
The RemoteControlClient / Display feature only supports one
 display. If multiple displays are registered, this CL implements
 the following policy:
 - cannot unregister a display that is not the current one,
 - registering a display when another is already registered
    causes the old one to be unregistered.
This fixes a death handler leak where the previous display was
 simply overwritten, without unlinking to its death.

Change-Id: I63f8a38093796e0960761936d7fc58d47b7589b3
2011-08-26 18:14:29 -07:00
Andreas Huber
6032a6018d Signal errors to the client instead of asserting in ACodec.
Also make sure NuPlayer can properly shutdown in certain edge cases.

Change-Id: Iceb16d600d87ba66c802e60e95bf62f66487a453
2011-08-26 16:02:19 -07:00
Jean-Michel Trivi
fedd53b82b Merge "Don't try to rescale when no bitmap in RemoteControlClient" 2011-08-26 14:25:05 -07:00
Andreas Huber
539340fe2c Merge "Support for posting messages and synchronously waiting for a response." 2011-08-26 13:47:26 -07:00
Jean-Michel Trivi
6e679d5a53 Don't try to rescale when no bitmap in RemoteControlClient
If a RemoteControlClient has a null artwork, do no attempt to
 rescale the bitmap, it's ok to send a null bitmap to the
 IRemoteControlDisplay.

Change-Id: I8332ccfcf18107ea0b41d4e7fa232d7f68798efc
2011-08-26 11:57:42 -07:00
Andreas Huber
9ba16f6c54 Properly reset the number of frames we think we've written to the audio sink
in order to compute the final delay before posting end-of-stream correctly.

Change-Id: I4ff6d7142fdf1ea2d19d12ec78c1e84322d22e5f
related-to-bug: 5216930
2011-08-26 11:26:25 -07:00