1799 Commits

Author SHA1 Message Date
Andreas Huber
909a8cf62c Finetune some of the prefetcher parameters to a) buffer as much as froyo did b) ensure that keepalives actually trigger a network read instead of just draining internal buffers
Change-Id: Iaedfb5645e3052a63789244c90900573f8449bac
2010-06-25 10:44:24 -07:00
Andreas Huber
7b5b27ada1 Merge "Properly identify malformed (too short) chunks in mpeg4 files." into gingerbread 2010-06-24 13:14:38 -07:00
Andreas Huber
736c22d3e0 Properly identify malformed (too short) chunks in mpeg4 files.
Change-Id: Id2efb1bba195c4ad6f132cd706cc813135ead8a4
2010-06-24 12:16:25 -07:00
James Dong
7fd22aab45 Merge "Fixed the software AAC encoder" into gingerbread 2010-06-24 09:46:48 -07:00
Andreas Huber
a2549bb644 Merge "Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright." into gingerbread 2010-06-24 09:05:08 -07:00
James Dong
438e4f62ad Fixed the software AAC encoder
Make sure that each input frame contains at least 1024 samples, as
required by the AAC encoder, and fix the incorrect timestamp.

Change-Id: I344cafe8c89be51d6e64552fab70539990ff6049
2010-06-23 17:12:11 -07:00
Andreas Huber
8d65dd2653 Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright.
Change-Id: Ieafe75a4550c273ad59b4518d7cd4c0fce0f7cce
related-to-bug: 2370115
2010-06-23 16:40:57 -07:00
James Dong
9afc1b3ed3 Merge "Fixed some meta data issues in the recorded mp4 file" into gingerbread 2010-06-23 15:13:55 -07:00
James Dong
39a0b21c65 Fixed some meta data issues in the recorded mp4 file
- Mainly correcting the location of stbl box which should be a child of minf box.
  This resolved the issue where the mis-muxed encoded file could not be played by QT/VLC.

- Enabled the the recorded tracks by setting the flags to 0x07 by default

- Allows for encoding either 32-bit or 64-bit offsets. By default encoding
  32-bit offsets to reduce the metadata overhead

- Fixed a edts box issue where an empty elst box was used at the end

Change-Id: I570621a26714a81dc9400271aa5d3a07b483172f
2010-06-23 14:09:18 -07:00
Andreas Huber
58e9402b12 Merge "Properly assign LOG_TAGs in OMXMaster.cpp and MediaScanner.cpp" into gingerbread 2010-06-23 13:14:16 -07:00
Andreas Huber
fb41d59595 Properly assign LOG_TAGs in OMXMaster.cpp and MediaScanner.cpp
Change-Id: I863651619f84b2b66e9a926ce1fef8ce6a53a42d
related-to-bug: 2639116
2010-06-23 11:33:43 -07:00
Andreas Huber
b64af9a221 Fix a number of timestamp mismatches in the mp3 extractor and decoder that would lead to invalid reporting of the current playback time for mono and/or non-44100 kHz mp3s.
Change-Id: I11abc05b62a958ffbc99ca997cd184a2f2199352
related-to-bug: 2667479
2010-06-23 11:11:58 -07:00
Eric Laurent
2c2ce8e53f Merge "Added support for audio sessions in MediaPlayer and AudioTrack." into gingerbread 2010-06-22 18:29:57 -07:00
Chia-chi Yeh
3238302b18 Merge "media: add AudioRecord::getMinFrameCount()." into gingerbread 2010-06-22 17:20:44 -07:00
Eric Laurent
619346f902 Added support for audio sessions in MediaPlayer and AudioTrack.
Audio sessions are used to associate audio effects to particular instances (or groups) of MediaPlayers or AudioTracks.

Change-Id: Ib94eec43241cfcb416590f435ddce7ab39a07640
2010-06-22 17:14:04 -07:00
Eric Laurent
d1559d6b2d Merge "Fix issue 2301630: Mismatch of state occurs when media server is killed while in-call." into gingerbread 2010-06-22 17:08:55 -07:00
Chia-chi Yeh
97d61f7518 media: add AudioRecord::getMinFrameCount().
Change-Id: I952071ab10aa49aa96b727d157b68470d69fff3d
2010-06-23 08:01:04 +08:00
Eric Laurent
3c652ca5a5 Fix issue 2301630: Mismatch of state occurs when media server is killed while in-call.
Use setParameters() API to indicate to audio HAL that we are restarting the media server after a crash.
The use made by audio HAL implementation of this indication is platform specific.

Change-Id: I085b174fa1474575da0e4d295921079b6b68efb8
2010-06-22 16:53:47 -07:00
James Dong
b54a917842 Single track optimization
We don't need to do interleave when the total number of tracks to be recorded is one.
Metadata-wise, we only need to have one chunk in chunk offset table, and a
single entry in the stsc table.

Change-Id: I46f0e4b3860620311e7a91b68a9067acaa137bb2
2010-06-22 11:27:37 -07:00
Andreas Huber
ef1c48d6a9 Merge "Make the prefetcher read packets from the network after a keep-alive timeout expires regardless of whether its currently actively fetching data or not." into gingerbread 2010-06-22 10:11:15 -07:00
James Dong
e5671bfe51 Merge "Audio/video sync during recording (second part)" into gingerbread 2010-06-22 10:05:02 -07:00
Andreas Huber
a486754053 Make the prefetcher read packets from the network after a keep-alive timeout expires regardless of whether its currently actively fetching data or not.
Change-Id: I7d022ac494e1cecdd7f656806b7ed45979c02840
2010-06-22 09:54:58 -07:00
James Dong
875500b47a Merge "AmrInputStream refresh: eliminate the dependency upon OpenCore's code" into gingerbread 2010-06-21 17:35:27 -07:00
James Dong
36e573bf7d Audio/video sync during recording (second part)
Change-Id: Iba0b35f57fdeac7ee1da16899406bf4b957a2c8c
2010-06-21 17:34:01 -07:00
Chia-chi Yeh
2ce999fce7 am bd240c27: media: add AudioTrack::getMinFrameCount().
Merge commit 'bd240c2737913d6ed1982788699f93bbc52330c0' into gingerbread

* commit 'bd240c2737913d6ed1982788699f93bbc52330c0':
  media: add AudioTrack::getMinFrameCount().
2010-06-21 08:54:19 -07:00
Chia-chi Yeh
bd240c2737 media: add AudioTrack::getMinFrameCount().
Change-Id: If15162583d1d16d89f59be0793106afe77417f35
2010-06-21 09:51:18 +08:00
James Dong
49b6fbaebd AmrInputStream refresh: eliminate the dependency upon OpenCore's code
Change-Id: I0e66bc0a16fcdcf70136012ae1cd4138506cc94b
2010-06-18 18:56:54 -07:00
Dave Sparks
f3c6c982f6 am 3242cc27: Merge "TimedEventQueue is apparently important for glitch-free media playback, and so having it inherit its priority from the thread that created it is a bad idea. Instead, set the priority explicitly, and bump it to slightly higher than normal." into fro
Merge commit '3242cc2719a4aeb64ac5ed273cf222d8d326d44b' into gingerbread

* commit '3242cc2719a4aeb64ac5ed273cf222d8d326d44b':
  TimedEventQueue is apparently important for glitch-free media playback, and so
2010-06-17 12:37:15 -07:00
James Dong
42a18c09e7 Check and clip some video encoding parameters against media profiles before passing them to video encoder
Change-Id: I69e0e7411806a4ece6c0bf0e02c74eaaf48a17ac
2010-06-17 11:34:10 -07:00
James Dong
cd677a3085 Merge "Remove hard-coded number of audio channels in AudioSource" into gingerbread 2010-06-17 11:25:19 -07:00
Marco Nelissen
cad5726e3a TimedEventQueue is apparently important for glitch-free media playback, and so
having it inherit its priority from the thread that created it is a bad idea.
Instead, set the priority explicitly, and bump it to slightly higher than normal.

Change-Id: I01843f24905790ce2e2cde5d11a99346cfbf968d
2010-06-16 11:09:01 -07:00
James Dong
d77d2a980c Remove hard-coded number of audio channels in AudioSource
Change-Id: I5f362252c25e2251bbfa9818b711ee23b4975248
2010-06-14 17:45:35 -07:00
James Dong
c52ced0726 This patch enables each omx instance to have a separate message dispatcher, and
thus eliminates the sharing of the message dispatches between omx instances.

If the omx audio and video encoders share the same dispatcher, when the audio read
blocks in the AudioSource, the message dispatcher thread gets blocked. As a result,
the message for the omx video encoder can not be dispatched, hence gets blocked too.
If the blocking time is long enough, the video frame rate decreases significantly.
This is the case when we read 2048 bytes by default each time. Reading smaller blocks
of audio data helps mitigate the above-mentioned problem, but it is not an ideal
solution for two reasons: a) it is not efficient, and thus can cause a lot of overhead
passing buffers between the frame work and the omx encoders; b) also, the audio record
thread can overflow as a result, which lead to the loss of recorded audio frames.

This patch affects both authoring engine and the playback engine.

Change-Id: I26dfde7ac46c8752cf1793ce1bfcc7be7724580e
2010-06-14 17:28:05 -07:00
James Dong
dca66e1c3b Fixed a typo - maybe we should do comparison ignoring the case?
Change-Id: I498f8242e6ba3e3e8b8c7b714ed49bff51a3010b
2010-06-14 11:14:38 -07:00
Eric Laurent
e0219539c6 am 01f7ac64: Merge "Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI." into kraken
Merge commit '01f7ac64488027492b2909b99d70491e7a391015' into gingerbread

* commit '01f7ac64488027492b2909b99d70491e7a391015':
  Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.
2010-06-14 09:04:33 -07:00
Eric Laurent
01f7ac6448 Merge "Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI." into kraken 2010-06-14 09:02:13 -07:00
Andreas Huber
126ca6f9ec Merge "Must hold lock here..." into gingerbread 2010-06-11 15:58:19 -07:00
James Dong
f62c57d684 Merge "Initial checkin for pause and resume control" into kraken 2010-06-11 14:28:55 -07:00
Andreas Huber
9e937269a6 Must hold lock here...
Change-Id: I179a5582c9246f78c988f85e2f969f32d547ac89
2010-06-11 14:16:12 -07:00
James Dong
08c7473ce9 Initial checkin for pause and resume control
Change-Id: Ibdcf7bea5fb66baa81878704ba4091dfcfe382ee
2010-06-11 13:48:48 -07:00
Andreas Huber
f5eafe40cd Merge "Restore feature parity with the old HTTPDataSource as far as support for extra headers (cookies?) and socket-timeout are concerned." into kraken 2010-06-11 10:52:00 -07:00
Andreas Huber
3a53dc5ad9 Restore feature parity with the old HTTPDataSource as far as support for extra headers (cookies?) and socket-timeout are concerned.
Change-Id: I506dc501faec60e974bf4968d8ba661df7a49aa8
2010-06-11 09:57:46 -07:00
Andreas Huber
e577e87a2d Fix a typo in NuCachedSource2 that would trigger an assert near the end of a stream.
Change-Id: I963ad7074b830d553b67c8925efd5369d0b7a5b9
2010-06-11 09:22:48 -07:00
Eric Laurent
948235c06e Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.
Added AudioEffect C++ class. AudioEffect is the base class for effect specific implementations,
OpenSL ES effect interfaces and audio effect JNI.

Added the AudioEffect JNI and AudioEffect JAVA class. AudioEffect is the base class
to implement more specific JAVA classes to control audio effects from JAVA applications.

Change-Id: If300a1b708f2e6605891261e67bfb4f8330a4624
2010-06-11 06:26:31 -07:00
Andreas Huber
4d61f602bf Switch stagefright's approach to prefetching to the new model. The java MediaPlayer is now notified about rebuffering start/end via info messages.
Change-Id: If8185ba329ce8b6663b1ad39a4efb0ad3be81df2
2010-06-10 15:16:57 -07:00
Andreas Huber
fbdb5f1bb6 Merge "Switch LiveSource to use the new http data source instead of the old one." into kraken 2010-06-10 15:15:43 -07:00
Andreas Huber
c81d2c12de Merge "Initial check-in of new caching/prefetching data source implementation." into kraken 2010-06-10 15:15:29 -07:00
Andreas Huber
8d30028065 Merge "Support "pausing" of MediaSources with the effect that they no longer pull on their upstream source until a subsequent read-with-seek." into kraken 2010-06-10 12:41:05 -07:00
Andreas Huber
75c1c8e3f5 Merge "Initial check in of a new http data source implementation." into kraken 2010-06-10 12:40:39 -07:00
Andreas Huber
82f8fd6a49 Switch LiveSource to use the new http data source instead of the old one.
Change-Id: I9623c480628c495dbfbe02bdc6372724a107e2e8
2010-06-10 11:26:24 -07:00