576 Commits

Author SHA1 Message Date
Mike Lockwood
8151dc3229 StagefrightMediaScanner: Close metadata retriever after we are done scanning
This prevents the mediaserver from leaking a file descriptor after
the media scanner runs

BUG: 3373546

Change-Id: I82a8bae82306de3da56a5c7da5b03ecf106a4efc
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-25 15:20:04 -08:00
Andreas Huber
5e9dc94a3c Properly rotate video that's marked as such and decoded to a surface.
Change-Id: I1e9144db3447e58c99aac3f47702ad471678789c
related-to-bug: 3378148
2011-01-21 14:32:31 -08:00
Andreas Huber
19922adceb Some tweaks to HTTP live / nuplayer behaviour
- play audio-only streams again
- workaround for malformed streams that switch PIDs across bandwidths
- attempt to pick a different bandwidth stream if the previously chosen one appears
  to be malformed/unsupported.

Change-Id: I426d0a40dc725aa242f619d4c9d048b69aca55c9
related-to-bug: 2368598
2011-01-21 10:34:40 -08:00
James Dong
08adfd29ae Fix the presentation video resolution when it is different from the actual image resolution of the video.
bug - 3352413

Change-Id: I8f08f3896e9fb90f09119dccdb88b82af60f79f2
2011-01-19 08:33:07 -08:00
Dharmaray Kundargi
3b3cddccc1 integrate videoeditor preview player.
Change-Id: I83084f494605c8e6f4d198afa8c36f9e29579667
2011-01-16 16:43:20 -08:00
James Dong
11eab056dd Publish MediaMetadataRetriever.java as public API
o Removed setMode() methods and related mode constants
o Removed some of the unused the metadata keys
o Updated the javadoc

o part of a multi-project change.

bug - 2433195

Change-Id: I5ed167f1fd6a53cb143b7dc385b149431d434438
2011-01-12 14:14:11 -08:00
Andreas Huber
748ba9a951 Merge "NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications." into honeycomb 2011-01-10 11:26:38 -08:00
Andreas Huber
7caa130a98 NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications.
Change-Id: I99b4223ad6ecfd8839a3c0e737fef3165565d76d
related-to-bug: 3336496
2011-01-10 10:38:31 -08:00
James Dong
681e89c082 Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object
bug - 3336424

Change-Id: I4c79b66a900c527e3ae6a833f76d5da1b75c5a89
2011-01-10 08:57:50 -08:00
Marco Nelissen
ee35aff744 Add support for the "compilation" tag in mp3, mp4 and ogg, and also add
support for two common ways of specifying album artist in ogg files.
b/3311831

(cherry-picked from GB because of weird automerger failure)

Change-Id: Ibf12a3d6bc8bbc2ac5ea815de6b33414b8f53f0f
2011-01-07 12:42:07 -08:00
Andreas Huber
c0dbe3a445 Colorconverter may not support some src/dst bitmap configurations.
Let it return an appropriate error code instead of asserting.

Change-Id: I7fe0dfa169e1cbdecb04c5fcbe8501e73362d05e
related-to-bug: 3328212
2011-01-06 12:42:33 -08:00
James Dong
6c30cfb0c5 am a8ce7736: am 35e8dcb9: Merge "Suppress the recording sound in the recorded video" into gingerbread
* commit 'a8ce773607c26dd4336f57856afce507fb98a279':
  Suppress the recording sound in the recorded video
2011-01-05 17:57:55 -08:00
James Dong
a8ce773607 am 35e8dcb9: Merge "Suppress the recording sound in the recorded video" into gingerbread
* commit '35e8dcb9df8c3d77ede120e3f1aaf842b2928639':
  Suppress the recording sound in the recorded video
2011-01-05 17:55:27 -08:00
Andreas Huber
a4bbc386a0 Merge "Seek/Duration support for completed http live streams in NuPlayer." 2011-01-05 14:50:00 -08:00
Andreas Huber
08e10cb404 Seek/Duration support for completed http live streams in NuPlayer.
Change-Id: I55bbe75d87140c07b1927d14ad24130fce803463
related-to-bug: 3321475
2011-01-05 14:48:31 -08:00
James Dong
876e44dfb5 Merge "Use video output if necessary for timelapse video recording" 2011-01-05 10:27:55 -08:00
James Dong
a7ac739b74 Suppress the recording sound in the recorded video
bug - 3309194

Change-Id: Ib8fb248943bc22f963d67537bfdbc6056c5a159b
2011-01-04 17:34:44 -08:00
James Dong
a1d2d8f7a5 Use video output if necessary for timelapse video recording
Change-Id: I88d0cc824f0fbf8b2f392fbc23c69b5bfefda1b8
2011-01-04 16:09:07 -08:00
Andreas Huber
cbeaca7a81 Properly shutdown the decoders on a reset() in NuPlayer's implementation.
related-to-bug: 3321470
Change-Id: Ida6d2171c5a3a407188d4633602b764f8fe7086a
2011-01-04 14:07:58 -08:00
Mike Lockwood
076e05b488 MediaScanner: Add support for scanning empty directories
Currently the media scanner does not create database entries for directories
unless they contain a file that is scanned.
Fixing this so we provide a consistent view of the world to MTP.

Change-Id: Ia776acfeae23192183e7192d63cdc34d830ea889
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-16 15:35:36 -08:00
Andreas Huber
687b32d83e Properly announce decoder output format changes, make sure AMessage::dup does.
Change-Id: Ia77f6b6d5e5c5055583740dfe876b8a3c22be9b6
2010-12-16 10:08:26 -08:00
Andreas Huber
a15874665f Initial support for a true streaming player for mpeg2 transport streams.
Change-Id: I153eec439d260a5524b21270e16d36940ec3161a
2010-12-15 15:18:26 -08:00
James Dong
2144f6316d Revert "Allows the authoring engine to skip frame."
o Skipping frames could lead to a lot of issues such as I frames is lost etc.
  It is not being used anyway.

This reverts commit 53d4e0d58e2d5c18f6e026c705af833b9bdd7aba.

Conflicts:

	media/libstagefright/AudioSource.cpp
	media/libstagefright/CameraSource.cpp

Change-Id: I3abba1647de48db25bdc369066eb2a7ae4dedec2
2010-12-11 10:57:03 -08:00
Andreas Huber
bbbcf65532 Better buffer status management and verification in OMXCodec.
Change-Id: I90410f2ac0d8ff86076a239dc6e281b1bc4d8643
2010-12-08 09:07:28 -08:00
Andreas Huber
b0fa4f2c6f Merge "API Support for both synchronous and queued commands, optionally associated metadata." 2010-12-07 10:12:47 -08:00
Andreas Huber
ae9d507253 API Support for both synchronous and queued commands, optionally associated metadata.
Change-Id: Idb90d64cb638942210c5822b3cba2f05b087d601
2010-12-06 12:45:50 -08:00
James Dong
5df53fe2f0 Remove check if the target video resolution is not supported by CameraSource
and clean up Camera is CameraSource could not created.

bug - 3254411

Change-Id: I43497c450e7007de5ce027e2912b1421119e8887
2010-12-05 16:08:30 -08:00
James Dong
faf09ba940 Prepare for publishing MediaMetadataRetriever as public API
step one:
o replaced captureFrame with getFrameAtTime
o removed getMode

bug - 2433195

Change-Id: I38a8cecef29014692f0b08b8818326e3ebb40a12
2010-12-03 15:32:47 -08:00
Andreas Huber
52b52cdfb7 Support streaming data across binder boundaries.
Change-Id: Ifbac61406dcb81343765f99ccba08bd90f9274cc
2010-11-23 14:46:13 -08:00
Andreas Huber
1bb0ffd098 Squashed commit of the following:
commit 0870f7bdd10a7cd36087d723d1957d8e1b967ca7
Author: Andreas Huber <andih@google.com>
Date:   Mon Nov 22 12:57:04 2010 -0800

    set_surface_crop doesn't seem to work right yet, stop using it in the SoftwareRenderer.

    Change-Id: If0a24f78b7810a6cecaa82eb4f23d0f90c22cc42

commit 4767b52bee3a54ae117a8708d6832276a44e6a6a
Author: Andreas Huber <andih@google.com>
Date:   Mon Nov 22 11:14:57 2010 -0800

    info->mMediaBuffer may still be NULL at this point...

    Change-Id: I25a71569015b1bb87f1ea7efff7588958774426f

commit 0cef79874e1f1ddb10b7402177a87d3cffc7de92
Author: Andreas Huber <andih@google.com>
Date:   Mon Nov 22 10:55:12 2010 -0800

    QCOM's YVU420 color format conversion has now been tested.

    Change-Id: I7fef4b642a928af15d42f006f7cdc107d5ff1d67

commit 84fe05a6c969ede0ce8a85a530e110afca07c7a7
Author: Andreas Huber <andih@google.com>
Date:   Mon Nov 22 09:59:50 2010 -0800

    Removed remaining traces of suspend/resume. Proper reporting of video dimensions based on cropping rectangle.

    Change-Id: Ib238b80cbc1f19e7d312f2422eb5e9ab6b06b1bc

commit 50970cdc837c5c498bcf0cb61b436196ca9e2ef7
Author: Andreas Huber <andih@google.com>
Date:   Fri Nov 19 16:11:06 2010 -0800

    Revamped Software Renderer respects the crop rectangle.

    Removed obsolete ADRENO support code.

    Change-Id: I984cbc8a99c4d97e09e7d1b1292099c88b9ae535

commit 8abbc6a5608bff650f968540f24a2eab75f254ed
Author: Andreas Huber <andih@google.com>
Date:   Fri Nov 19 16:10:41 2010 -0800

    The metadata retriever now respects the crop rectangle while capturing a video frame.

    Change-Id: Id3377176060086d16717f62c77ce26fabe899050

commit 2d42e4466609d304e88bd2cdd6eb7b297340cc21
Author: Andreas Huber <andih@google.com>
Date:   Fri Nov 19 16:09:50 2010 -0800

    Changed ColorConverter APIs to be more general.

    Clients can now refer to crop rectangles in both source and destination.

    Change-Id: Ief151d736818396d0389ec04e7df5650e3ad7c04

commit 273184303d54a54febd3e9c3dd4df30507ea78b5
Author: Andreas Huber <andih@google.com>
Date:   Fri Nov 19 15:04:06 2010 -0800

    The stagefright commandline tool now writes the extracted video frame to /sdcard/out.jpg

    Change-Id: Ieb2ab3fda7a7cd9294beccb8db0eed75096eeef4

commit 2d43390328cadf4ba94c1c3c02e4fb30baa29690
Author: Andreas Huber <andih@google.com>
Date:   Fri Nov 19 14:36:55 2010 -0800

    The AVC software decoder now properly advertises the cropping rectangle.

    Change-Id: Idb7a8a7e2fde5740f0fc34b7e8c92eca2577104b

commit 9a7ed23c2fac8ce19dce7a34a603acee945a89f6
Author: Andreas Huber <andih@google.com>
Date:   Fri Nov 19 13:40:39 2010 -0800

    OMXCodec now signals a format change if the cropping rectangle changes.

    ...and puts the cropping info into its output format.

    Change-Id: I3ffbd8e877ba286fe06a82c536ef20d92548d2e2

commit efe0323947029df1c502599ccc288c8d676dfd31
Author: Andreas Huber <andih@google.com>
Date:   Fri Nov 19 11:29:39 2010 -0800

    Stagefright's MetaData object now supports rectangle items.

    Change-Id: I5667bb5ee6622c76104b99fb57f60abb802a8504

Change-Id: I27cb78f2c5e0353f95fdfc5cb53991949ed75b70
2010-11-22 14:05:21 -08:00
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
Andreas Huber
2e1a896724 resolved conflicts for merge of 31dc911a to gingerbread-plus-aosp
Change-Id: I2f51b2120b3c552566d91a7dc498a5e8b130205f
2010-11-08 11:56:08 -08:00
James Dong
d8166a719e am 1653e261: Merge "Rotation support" into gingerbread
* commit '1653e261e84922facfe27d3d8acc455ed2b6b6da':
  Rotation support
2010-11-06 14:22:05 -07:00