540 Commits

Author SHA1 Message Date
James Dong
04d070f293 Merge "Removed uncessary FILE structure pointer for I/O" 2010-11-19 16:49:10 -08:00
Eric Laurent
f3d6dd0782 Fix issue 3157123.
Use a Mutex wherever atomic operations were used in AudioTrack,
AudioRecord, AudioFlinger and AudioEffect classes.

Change-Id: I6f55b2cabdcd93d64ef19446735b8f33720f8dbc
2010-11-19 15:49:42 -08:00
James Dong
2747e0e07f Removed uncessary FILE structure pointer for I/O
o also move the fd owner from caller to callee in the Writers

Change-Id: I510ccfdd0fcc58f1777fea4ed1349fd251852c65
2010-11-19 10:48:22 -08:00
James Dong
b1262a8b1d 64-bit file size/offset support for media framework
Change-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10
2010-11-18 14:12:24 -08:00
Gloria Wang
3d1c5a2788 Merge "Add getUri() for streaming" 2010-11-18 11:18:35 -08:00
Gloria Wang
43cd12dae2 Add getUri() for streaming
Change-Id: I56e15e67cc5f4d0f41c9e2985404a4d89d757e7e
2010-11-18 09:55:35 -08:00
Jean-Michel Trivi
05b07fd204 Merge "Add new audio mode for audio communications other than telelphony." 2010-11-17 09:49:23 -08:00
Andreas Huber
c23dabfb20 Remove all traces of legacy renderer support in stagefright.
Change-Id: I17b8e0dbf53fca37c96830c41131b4bc0c24ca6d
2010-11-16 13:05:53 -08:00
Jean-Michel Trivi
8f677d66d9 Add new audio mode for audio communications other than telelphony.
The audio mode MODE_IN_CALL signals the system the device a phone
 call is currently underway. There was no way for audio video
 chat or VoIP applications to signal a call is underway, but not
 using the telephony resources. This change introduces a new mode
 to address this. Changes in other parts of the system (java
 and native) are required to take this new mode into account.
The generic AudioPolicyManager is updated to not use its phone
 state variable directly, but to use two new convenience methods,
 isInCall() and isStateInCall(int) instead.

Change-Id: Id744cd26520ea1d1a4795eabe6a1f0c58789af76
2010-11-16 10:23:37 -08:00
James Dong
8ec2d9add9 Remove legacy PV stuff
Change-Id: I60ffea7c65592df4b3a80c590c863f1f79b371fd
2010-11-15 08:36:42 -08:00
James Dong
a9d02bf602 Merge "Separate the key for audio sampling rate and video frame rate in MetaData.h" 2010-11-12 15:33:41 -08:00
Jean-Michel Trivi
1a22bdb01a Add support for audio recording source in generic audio policy mgr.
Update the platform-independent audio policy manager to pass the
 nature of the audio recording source to the audio policy client
 interface through the AudioPolicyClientInterface::setParameters()
 method.

Change-Id: I6b4fd0f8a3acea0d7d30bbad98edd1977dc012bf
2010-11-12 14:35:52 -08:00
James Dong
aac193cf38 Separate the key for audio sampling rate and video frame rate in MetaData.h
Change-Id: Ia33befaa7e6df8762703002d01aa79c04f15f040
2010-11-11 22:11:20 -08:00
James Dong
d781089731 Add color format query support to QueryCodecs()
Change-Id: Ic8589649cd09392a1b969a30082b4c9c4e6cc6a7
2010-11-11 14:08:52 -08:00
James Dong
31b9375f45 Fix memory leak when 0-memcpy quirk is used
o minor change to the original patch by Andreas:
  call restorePatchedDataPointer() method only if kAvoidMemcopyInputRecordingFrames is turned on

Change-Id: Idf3710e6f759d37d28e866613f98d39215722cb9
2010-11-11 11:26:16 -08:00
Jean-Michel Trivi
820b9e0d3b Add recording source for voice communication
Add a recording source used to designate a recording stream for
voice communications such as VoIP.

Change-Id: I4091d67069b1a0170c1a5ca5e6acd51eb0aa08f9
2010-11-09 14:32:43 -08:00
James Dong
b9d7e01eb8 Rotation support
- We only support 0, 90, 180, and 270 degree clockwise rotation

- Some players are known to ignore composition matrix in the MP4 file,
  although this is part of the MP4 file standard.
  Both QT and YT are supporting the rotation

The original patch (65a73f4e8c79d05c0d9001b660325748d4ecf37b) was not merged.
The only change I made is to reuse the same kKeyRotation in MetaData.h;
and thus do not neeed to use kKeyRotationDegree.

Change-Id: Ib328716d4842201c4adf57e4ddfe1f1ac1ae4d8a
2010-11-09 11:48:29 -08:00
James Dong
2bff83930d Fix a build break due to the missing kKeyRotation
Change-Id: I6bf030c946abe7a95f8f7bc464e6507fb02cf39c
2010-11-08 20:09:22 -08:00
James Dong
32af3a2f56 Merge "Use meta data in the media recording framework" 2010-11-05 18:18:30 +00:00
Gloria Wang
91460d7f49 Merge "Add support for WV DRM" 2010-11-05 17:45:26 +00:00
Gloria Wang
c2c22e7e20 Add support for WV DRM
Change-Id: I0408c5e0a488f112a84337b21b0cd4613a4da461
2010-11-05 10:33:58 -07:00
James Dong
05c2fd50d2 Use meta data in the media recording framework
o This patch allows us to do 720p video recording

Change-Id: I2ea37e80a59630145396b08ebcdc6ee71df53333
2010-11-04 17:40:02 -07:00
Jamie Gennis
f0c5c1e8ce Fix a MediaBuffer leak in Stagefright.
Change-Id: I548e60b07cf1676476874b156cfbc4ffefdfa2b9
2010-11-03 16:15:10 -07:00
Praveen Bharathi
21e941bf43 Added support for dock headset observer
Change-Id: I06b2e65e3bfa10735e6c7fd3349afa9ae7d45292
Signed-off-by: Praveen Bharathi <pbharathi@motorola.com>
2010-11-01 18:41:19 -07:00
Jamie Gennis
044ace6bde Stop using OMX_COLOR_FormatAndroidPrivateStart.
This removes the use (and definition) of the Android-private range of
OMX color formats from Stagefright.  Instead we will just be
interpreting the video color format of an OMX port as an Android pixel
format if the port is in native buffer mode.

Change-Id: I3ea50703336a88249e7563bc7022dfedbeac506e
2010-11-01 16:54:01 -07:00
Andreas Huber
69b8d69aad Squashed commit of the following:
commit 0d5694ba2d399dd0869532a4d6256448185a1be0
Author: Andreas Huber <andih@google.com>
Date:   Fri Oct 29 11:59:23 2010 -0700

    suspend() and resume() methods on VideoView are back but don't do anything.

    They need to be back because they were public before.

    Change-Id: Iddfd1021ffcf341f26e8d55ba761fd33701e2425

commit 16192891ed7d349ee97e47d1729d20a2d0d247b8
Author: Andreas Huber <andih@google.com>
Date:   Fri Oct 29 11:47:05 2010 -0700

    Revert "New API on VideoView widget to suspend/resume a session. Do not release the MediaPlayer client for video suspending/resuming."

    This reverts commit 2e1818a4d16c3309660f27286c77d8d1eee95a25.

    Conflicts:

    	api/current.xml

    Change-Id: I68dd1d05871044faf3f832d0838aa40bc7f890e5

commit 8f934dc1a3ae4e60f0790fcf97671e063fa20fad
Author: Andreas Huber <andih@google.com>
Date:   Fri Oct 29 11:44:16 2010 -0700

    Revert "Release mediaplayer if the current state is not suspending. Fix for bug 2480093."

    This reverts commit efb882cf75eef39ecaf9f8920ed302a019fa629f.

commit f2ed03550887986f39d36b5dabcd9e919949c7cf
Author: Andreas Huber <andih@google.com>
Date:   Fri Oct 29 11:44:08 2010 -0700

    Revert "Release MediaPlayer if suspend() returns false."

    This reverts commit 047212fd4ea360675e94d3ce83c7f5544f65b268.

commit 441ecce678bd24e9660a72c8627b5bd94433ff8b
Author: Andreas Huber <andih@google.com>
Date:   Fri Oct 29 11:40:46 2010 -0700

    manually.

    Change-Id: I4fdd43c9f7c8b3eedddb31a196da4984e1c58e87

Change-Id: I60d4b10e7a9e4ed8d9a796f1711618f557eb6e89
2010-10-29 13:20:06 -07:00
James Dong
170a929648 Add two creation flags to OMXCodec::Create()
o This allows to force to use software codecs or hardware codecs
o If request cannot be fullfilled, Create() returns NULL.

Change-Id: I02b56a9229abb56d49703fe80ac18571d33f3748
2010-10-25 18:21:55 -07:00
Gloria Wang
cbb053c3c9 resolved conflicts for merge of 965f960e to master
Change-Id: I63cec8ffb3593216da1de03428134d89e75b9338
2010-10-25 16:56:49 -07:00
Gloria Wang
b8791479af resolved conflicts for merge of 9084631d to gingerbread-plus-aosp
Change-Id: Ie2b675d50bfca3f33aee80f1a67c9f03d1f97472
2010-10-25 16:11:18 -07:00
Gloria Wang
d5770917a5 DRM framework support:
- add a sniffer for DRM files
- add DRMSource and DRMExtractor for es_based DRM
- add pread in FileSource.cpp for container_based DRM
- add native DRM framework API calls in the player for
  DRM audio/video playback

Change-Id: I4b9ef19165c9b4f44ff40eeededb9a665e78a90f
2010-10-25 12:16:56 -07:00
James Dong
2351e69a13 Merge "OMX extension to support storing meta data in video input buffers during recording" 2010-10-22 14:07:41 -07:00
James Dong
387e38dd87 OMX extension to support storing meta data in video input buffers during recording
bug - 3042125

Change-Id: I7543809fa4ff61d48da35eec6c2bd5eaa7e8cead
2010-10-21 14:06:17 -07:00
James Dong
9165145342 am 8ad6335d: am fa7a87fb: Merge "File writer size estimation improvement" into gingerbread
Merge commit '8ad6335d2c22900de5b46460473495b5bcea9f99'

* commit '8ad6335d2c22900de5b46460473495b5bcea9f99':
  File writer size estimation improvement
2010-10-21 13:49:00 -07:00
Jamie Gennis
58a36adac1 Add decode-to-ANativeWindow support to Stagefright.
This change adds support to Stagefright for doing OMX video decoding directly
into buffers dequeued from an ANativeWindow.  It does this by registering the
dequeued buffers with the OMX component using an Android-specific OMX
extension, and then exchanging buffers between the OMX component and the
ANativeWindow.

Change-Id: Ida66f836503255a68d378c6903d96dfe9747ce87
2010-10-20 11:03:30 -07:00
James Dong
ab79d1febc Make camera source ready for handling meta-data video buffers.
bug - 3042125

Change-Id: I877b265c6bf8e0593121c8d5a95ae5599cdc6fb9
2010-10-19 23:11:29 -07:00
James Dong
22b37fa6e0 File writer size estimation improvement
o Do not count the reserved space for moov if the meta data size is small
o Do not count the extra 1KB disturbing small file estimation.
o Reduce the default minimum reserved space from 4 KB to 3 KB.
o Estimate the moov size based on both duration AND file size limit is set
  and set it to the smaller estimated value.

low risk change

bug - 3111983

Change-Id: I6ac2adb979d8cc12d6b4f1813d000c989add0199
2010-10-19 22:59:22 -07:00
Andreas Huber
c46b2a7b59 am 9b2f18df: am bc96c284: Merge "For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder." into gingerbread
Merge commit '9b2f18df2436b6c2d9735e65119b92f320bb57e2'

* commit '9b2f18df2436b6c2d9735e65119b92f320bb57e2':
  For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.
2010-10-19 09:52:25 -07:00
Andreas Huber
5a40e394f1 For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.
related-to-bug: 3106534
Change-Id: Ie28d72af2f9e93818d1840ac83aa7bc11fa57b3b
2010-10-18 10:16:08 -07:00
Andreas Huber
5b9fd116f9 am 746c6a1c: am ff7a7a45: Merge "Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore." into gingerbread
Merge commit '746c6a1c6d70769ee4b08b9a7b87d0c5aa65c2e4'

* commit '746c6a1c6d70769ee4b08b9a7b87d0c5aa65c2e4':
  Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.
2010-10-18 08:05:09 -07:00
Andreas Huber
6ac35f0597 Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.
Change-Id: Ie2ecf9558d4ee80cb5a2bbe66ad49f2165a7b09c
related-to-bug: 3101573
2010-10-15 13:30:27 -07:00
Kenny Root
4a90f93781 resolved conflicts for merge of a127c07c to master
Change-Id: Ifdfc6681cba00f36456eaf7a97f34a75b9d0c086
2010-10-14 23:58:41 -07:00
Andreas Huber
e449fceaa4 am 28b93967: am 165c6579: Merge "HTTP Live content that are tagged as complete are now seekable." into gingerbread
Merge commit '28b93967d0e702304c7edec854a29d5ab88bfce0'

* commit '28b93967d0e702304c7edec854a29d5ab88bfce0':
  HTTP Live content that are tagged as complete are now seekable.
2010-10-14 23:22:21 -07:00
Andreas Huber
312644cdbb Merge "Support for writing to MPEG2 transport stream files." into gingerbread 2010-10-13 09:14:40 -07:00
Andreas Huber
9adf466021 Support for writing to MPEG2 transport stream files.
Change-Id: If3b7a807bc224a4b1cb2236537c3ebdc5aee0d97
2010-10-12 16:05:23 -07:00
Andreas Huber
54d09724e3 HTTP Live content that are tagged as complete are now seekable.
Change-Id: I9d0d2f009f883e5baf3e9de8c5c0aa05760e4bde
related-to-bug: 2368598
2010-10-12 14:32:10 -07:00
Andreas Huber
37de60c179 am 2b4f1f4c: am f72dd019: Merge "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality." into gingerbread
Merge commit '2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7'

* commit '2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7':
  Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.
2010-10-10 17:14:53 -07:00
Eric Laurent
329430a54e am 4f21e517: am b37fcbfd: Merge "Added getter for session Id to AudioSink" into gingerbread
Merge commit '4f21e517d09b9d793d20d64547df330fba705b3c'

* commit '4f21e517d09b9d793d20d64547df330fba705b3c':
  Added getter for session Id to AudioSink
2010-10-10 16:06:04 -07:00
Andreas Huber
06dfa35e3c am bb708373: am 949f7d90: Merge "Work to support switching transport streams mid-stream and signalling discontinuities to the decoder." into gingerbread
Merge commit 'bb70837397e3fb437b7b4443b37d7a83c11e6e43'

* commit 'bb70837397e3fb437b7b4443b37d7a83c11e6e43':
  Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.
2010-10-10 11:25:54 -07:00
Andreas Huber
72662b1abe am 45bd1159: am 02654f01: Merge "On this particular device the hardware video decoder spits out buffers that don\'t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume." into gingerbread
Merge commit '45bd1159fa34b51ba077e0cde760d171ca092552'

* commit '45bd1159fa34b51ba077e0cde760d171ca092552':
  On this particular device the hardware video decoder spits out buffers that don't actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.
2010-10-10 11:16:01 -07:00
James Dong
997eaa2c7c 0-memcpy video recording framework
Part III: Move startRecording() call earlier, asking camera hal
to allocate video buffers before CameraSource.start() is called.

Change-Id: I3f1d7d5636ca2644fe52af61f297d48c6b1ce89d
2010-10-09 01:21:20 -07:00