2108 Commits

Author SHA1 Message Date
Andreas Huber
8c192fe990 Merge "Better support for rtsp streamed through VLC. Temporarily make the socket blocking to read all of the session description." into gingerbread 2010-08-19 09:09:12 -07:00
Chia-chi Yeh
58d3bd0810 Visualizer: replace the FFT implementation with a faster one.
This implementation uses fixed points instead of floating points. It
is slightly inaccurate compared to the old one but still perfect for
visualization purpose. It runs 40% faster on passion, 5 times faster
on sholes, and of course 14 times faster on sapphire.

Change-Id: I1e868417bcffda091becf106a7b941d02813faec
2010-08-19 16:05:32 +08:00
Eric Laurent
ba8da2e61b Audio Effects: fixed "strength supported" parameter size.
The "strength supported" parameter for bass boost and virtualizer effect was incorrectly using a
short value whereas it should be an int. This is to comply to the definition of boolean type in OpenSL ES
that is uint32.

Change-Id: I74ccb61dcc70fc9d390524a1ca5bbbd8b13ab1af
2010-08-18 14:31:25 -07:00
Andreas Huber
af063a67b2 Better support for rtsp streamed through VLC. Temporarily make the socket blocking to read all of the session description.
Change-Id: Ibe71f5941485660510e24d714da3865b9c6f89a2
2010-08-18 10:17:18 -07:00
Andreas Huber
4dda6ddb25 Merge "Make the OggExtractor less verbose." into gingerbread 2010-08-18 10:10:14 -07:00
Andreas Huber
08c94b265c Be more lenient when validating ESDS information in mp4 audio tracks. Allow the absence of any codec specific data and assume that the mpeg4 headers are not lying to us.
Change-Id: Ia29b967cbee9eabb21c6c26508b27b379ff9ba17
2010-08-18 09:58:30 -07:00
Andreas Huber
3386c38d59 Make the OggExtractor less verbose.
Change-Id: Ieea5f3fa98d93ca6ad8fa7dcd23054e1cd0b6338
2010-08-16 14:11:40 -07:00
James Dong
eff30e3d1b Change the default time scale for audio/video track during recording
and reduce rounding errors in calculating the sample duration

- Default time scale for tracks other than audio is set to 90000.
- Audio track by default uses the audio sampling rate as the time scale.
- Default movie time scale remains to be 1000.
- The default time scale values will be overwritten by a user-supplied value if exits.

Change-Id: I81b40ed0626ea45e9fd24a89e21a2c5a4a2c3415
2010-08-16 10:38:35 -07:00
James Dong
b72081966d Use audio clock as the reference media clock
o Only do this for realtime applications
o Adjust other track clock based on audio clock
o Assume other track uses wall clock as the media clock
o Use some heuristics to reduce the size of stts box by 2/3.

- also
o Remove one unused key from MetaData.h

Change-Id: Ib9432842627b61795b533508158c25258a527332
2010-08-13 18:12:48 -07:00
James Dong
e95d192fae Mainly fix two mistakes that I made:
1. When the ERROR_END_OF_STREAM is returned from read, the input buffer is not initialized
   release it would lead to crash

2. The mPrevTimestampUs is not initialized and thus fail in the CHECK(mPrevTimestampUs, timeUs)

Change-Id: Id1e51575fb8b3ca48e80547efd3a3a82dfac773b
2010-08-12 16:47:17 -07:00
Mike Dodd
5f96138ba6 Merge "Support getting codec, width, and height in URL for gtalk playback." into gingerbread 2010-08-12 16:45:19 -07:00
Andreas Huber
72ac1f26d7 Fix software avc encoder crash at EOS.
Change-Id: I738dc24556e41ce518b67babeff16cd934c2d1b1
2010-08-12 16:14:29 -07:00
Mike Dodd
8741dfacf2 Support getting codec, width, and height in URL for gtalk playback.
Format is rtsp://gtalk/codec/width/height

For example:
  rtsp://gtalk/H263-1998/320/200

Change-Id: If7c73fea1e1d0de89b22a8f0d12acba1c862d6fe
2010-08-12 16:04:35 -07:00
James Dong
d790c6485a Add lost preview surface detection in the JNI layer
Throws an IOException if this happens rather than crashes

Change-Id: I32bb4c889ae596f992a0d05283c9130a99b2d0d5
2010-08-12 11:59:56 -07:00
Andreas Huber
ae3a1f4595 Merge "Fix the h.263 assembler to properly subset a buffer's range if it already has a range applied." into gingerbread 2010-08-12 11:02:17 -07:00
Andreas Huber
66aa0f3d95 Merge "APacketSource is too verbose." into gingerbread 2010-08-12 11:02:06 -07:00
Andreas Huber
00237b79a0 Fix the h.263 assembler to properly subset a buffer's range if it already has a range applied.
Change-Id: I7cc468a3095537347d86803579001458b62fcadb
2010-08-12 10:58:24 -07:00
James Dong
708ec39c21 Don't send late frames to software encoders for encoding
o Document on what frames will be rejected and what frames will be accepted

Change-Id: I5a5d489ad3d2b50dbb40a0f6e01529312ce81c54
2010-08-12 10:40:58 -07:00
James Dong
45cb3cfacf Merge "Handle large audio lost" into gingerbread 2010-08-12 10:07:51 -07:00
James Dong
b6541f0af8 Merge "Fix a crash due to unnecessary check on the codec config data for H263 video track" into gingerbread 2010-08-12 10:07:38 -07:00
James Dong
581581fe1a Merge "Fix all fd leaks in authoring engine" into gingerbread 2010-08-12 09:13:14 -07:00
Andreas Huber
3f55576e04 APacketSource is too verbose.
Change-Id: I48ca7b070d89e43405d05e5f41e650db587e12b4
2010-08-12 09:07:20 -07:00
James Dong
c6280bce51 Fix all fd leaks in authoring engine
Change-Id: I17798543f9dd41cc8bef6f6086e66932f9f97be8
2010-08-11 17:18:30 -07:00
James Dong
7ae08a6d79 Fix a crash due to unnecessary check on the codec config data for H263 video track
Change-Id: I00e8b65d25731153e4d9be6a443eeed91c8fb605
2010-08-11 15:58:59 -07:00
Andreas Huber
90d1d10427 Merge "This code in CameraSource really should hold the lock." into gingerbread 2010-08-11 13:20:59 -07:00
Andreas Huber
22bd242478 This code in CameraSource really should hold the lock.
Change-Id: I349520a14776bb83b7edb23fc62052b487246d9a
2010-08-11 12:34:32 -07:00
Yu Shan Emily Lau
fd4a7c83b2 Add the a power test case which simply do the audio playback. The actual power measurement will be done by another application.
Change-Id: I51008ffdbe60e7e0b298091eb914b74f2d6731f8
2010-08-10 20:02:07 -07:00
James Dong
afe5305855 Handle large audio lost
Change-Id: I2687ad855aac758946954d0b3fe7aff9f7b5ae7c
2010-08-10 19:59:04 -07:00
Andreas Huber
6fa131105d Remove some obsolete code.
Change-Id: Ic4d21afe3721173d48db44b8ee4f836deee017ad
2010-08-10 13:48:53 -07:00
James Dong
10ed3f7438 Merge "Add input buffer size check for software video encoders" into gingerbread 2010-08-10 13:27:09 -07:00
Andreas Huber
18f0174ff4 Merge "We're now going to ignore timestamps completely in gtalk video conferencing, playing video as soon as it comes in. We also make up fake timestamps in the rtp code, ignoring rtcp SR information to enable early startup." into gingerbread 2010-08-10 12:59:27 -07:00
Andreas Huber
235be391f3 Merge "Many, many developers misread or don't read the http specs and terminate lines with '\n' instead of CRLF '\r\n' as required. Enable the workaround for this by default. Also increase the socket read timeout to 30 secs." into gingerbread 2010-08-10 11:39:38 -07:00
Andreas Huber
f88f84414a We're now going to ignore timestamps completely in gtalk video conferencing, playing video as soon as it comes in. We also make up fake timestamps in the rtp code, ignoring rtcp SR information to enable early startup.
Change-Id: Idc3df74b42000f7a6aa3eae090718dc9d9c4186f
2010-08-10 11:38:18 -07:00
James Dong
e6daea5940 Add input buffer size check for software video encoders
Change-Id: I03953a1245060ed6656a965e1a8a61386126c441
2010-08-10 10:46:11 -07:00
James Dong
f3b7859fc9 Only check the codec specific data when the output buffer contains kKeyIsCodecConfig in MP4 writer
o Assume there is only a single output buffer containing such information.
  This simplifies the logic in MP4 file writer

o Output SPS and PPS in the very first buffer for software AVC encoder
  This is to make AVC encoder work with the MP4 file writer

o Add timestamp value for codec config data

Change-Id: Iad27a04579e6028332429cd0bebd30976041e997
2010-08-10 10:20:15 -07:00
Andreas Huber
aa92ef7a56 Many, many developers misread or don't read the http specs and terminate lines with '\n' instead of CRLF '\r\n' as required. Enable the workaround for this by default. Also increase the socket read timeout to 30 secs.
Change-Id: I51df3b8139b3009565b2271611050700a23cf1d7
2010-08-10 10:10:40 -07:00
Jean-Michel Trivi
66edf558a9 Merge "Fix bug 2684341 Don't steal the media button event from the phone app is the phone is ringing, even in silent mode." into gingerbread 2010-08-09 14:19:08 -07:00
James Dong
959909ef28 Merge "Support multiple PPS and SPS in avcC box" into gingerbread 2010-08-09 13:35:54 -07:00
James Dong
481e05ea0d Support multiple PPS and SPS in avcC box
- Also
o do not use the hard-coded profile and levels.
  Instead, we are using the profile and level found in the codec config data
o we are not supporting FRExt profile and levels for now, which requires
  additional seq parameter set extension for instance.

Change-Id: If695b4c996d073d8e48aa45fdd7001e9f016f375
2010-08-09 12:04:30 -07:00
Jean-Michel Trivi
e73131a684 Fix bug 2684341 Don't steal the media button event from the phone
app is the phone is ringing, even in silent mode.

Use the PhoneStateListener to know whether the phone is ringing,
as the mode is not MODE_RINGTONE when ringing in silent mode.

Change-Id: Iede350cecde0b663d50f9b4a57f9a9ef08066c0d
2010-08-09 11:48:20 -07:00
Andreas Huber
4edf85abc9 Merge "Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder." into gingerbread 2010-08-09 11:30:34 -07:00
Eric Laurent
67400d492b Merge "Added tests for audio effects in MediaFrameworkTest" into gingerbread 2010-08-09 10:42:27 -07:00
Andreas Huber
520b2a7039 Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder.
Change-Id: I92685d09456c220b8c09842defb721bd55b0b9f6
related-to-bug: 2900021
2010-08-09 10:01:26 -07:00
Eric Laurent
2a6b80bc65 Fixed several audio effects problems.
- Fixed constant inversions in AudioEffect.java
- Do not return error when enabling an already enabled effect
- Update cached effect state in native AudioEffect class when effect is enabled/disabled by command() method
- Remove click when restarting effect during disable sequence
- Fixed problem in master mute management when volume control is delegated to effect.

Change-Id: I6df4ce9fcc54fdc7345df858f639d20d802d6712
2010-08-09 05:48:20 -07:00
Eric Laurent
441ec6bd10 Added tests for audio effects in MediaFrameworkTest
This CL adds a set of automated functional tests for the AudioEffect class
and the following derived classes:
BassBoost, Equalizer, Virtualizer and Visualizer.

These tests require the following file on the SD card:
/sdcard/media_api/music/sine_200+1000Hz_44K_mo.wav

Change-Id: I6ec3ec6f9ede10ccf2dd3b1e9ee4b08396740dee
2010-08-09 05:19:49 -07:00
Andreas Huber
ad98d383a0 Support for communicating if a buffer read from the _extractor_ is a sync sample or not.
Change-Id: Ie71506224d937cfff1fa1273bfac31c47db8845f
related-to-bug: 2900534
2010-08-06 15:46:17 -07:00
Andreas Huber
765b8aa8de Properly skip the 'skip' chunk in mpeg4 files.
Change-Id: I6795347f91f24d5379e8dc80a24ae016a9629c9c
related-to-bug: 2901311
2010-08-06 15:02:54 -07:00
James Dong
1441bdfc19 Merge "Use the target color format from the camera source if possible" into gingerbread 2010-08-05 15:10:03 -07:00
James Dong
afd97e82cf Use the target color format from the camera source if possible
- If the target color format is unavailable, the default
  platform-dependent color format will be used.

- Also add some logic to prevent looping forever if the
  omx component is buggy supporting color format enumeration.

Change-Id: I119a78f0d6201b4c3621235cca2f523ec14e24e3
2010-08-05 13:47:01 -07:00
James Dong
91b22a9453 Fix an issue where the track duration does not include the last sample duration
Change-Id: Ib6e01c1c84ad9b7404536f9c40bf90a13340ae53
2010-08-05 10:46:13 -07:00