1773 Commits

Author SHA1 Message Date
James Dong
36e573bf7d Audio/video sync during recording (second part)
Change-Id: Iba0b35f57fdeac7ee1da16899406bf4b957a2c8c
2010-06-21 17:34:01 -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
Andreas Huber
1f24b30fe4 Support "pausing" of MediaSources with the effect that they no longer pull on their upstream source until a subsequent read-with-seek.
Change-Id: Ie4153a10ab36c1135f5fcfb572958129d886bcc3
2010-06-10 11:24:49 -07:00
Andreas Huber
b206319122 Initial check-in of new caching/prefetching data source implementation.
Change-Id: I97a6e3f03c69c9b1219f1f06bd109c0102f2c504
2010-06-10 11:23:56 -07:00
Andreas Huber
163c493b50 Initial check in of a new http data source implementation.
Change-Id: I17c358288ffe9ef690d702c58723c766d0a0cf21
2010-06-10 11:22:56 -07:00
James Dong
3a0b37a04e Merge "Remove the lock/unlock workaround from CameraService" into kraken 2010-06-10 10:14:38 -07:00
Andreas Huber
66b89a62aa Merge "Apparently the TI video decoder only supports H.264 up to baseline profile/level 3, not level 3.x as previously assumed." into kraken 2010-06-10 10:12:57 -07:00
Andreas Huber
e2f85077a2 Apparently the TI video decoder only supports H.264 up to baseline profile/level 3, not level 3.x as previously assumed.
Change-Id: I4a9aa80f392dbef72f81e25c67e5bd0654848b2c
2010-06-10 09:52:11 -07:00
James Dong
71d714ccbf Remove the lock/unlock workaround from CameraService
bug - 2677772

Change-Id: I7c996daad8b3bfc89e9fa2d655dc18c9a5c68f2f
2010-06-09 21:30:43 -07:00
James Dong
457d5ae3c9 Fix a potential(observed sometimes) media server crash
The problem is that we are referring an temp object returned from a function call.
When the function call returned, the temp object is gone; and thus the reference
may be invalidated.

-- rebased

bug - 2734946

Change-Id: I1993c4462df95610ca478f816adc30058af5850e
2010-06-09 11:27:03 -07:00
Mathias Agopian
5e14010b1f allow re-targetting of surfaces
Surfaces can now be parcelized and sent to remote
processes. When a surface crosses a process
boundary, it looses its connection with the
current process and gets attached to the new one.

Change-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0
2010-06-08 20:10:02 -07:00
James Dong
1244eab2ce Remove some hard-coded encoding parameters
Change-Id: I7a8ccd5d57891a6a585c8da2ee53acb094955913
2010-06-08 12:30:58 -07:00
James Dong
dae9fd3190 Initial check-in for collecting stats from authoring engine at runtime
Change-Id: I93a9d8bd260efc5e7fc135b726e3f1307c6df794
2010-06-08 11:54:21 -07:00
James Dong
31b1975890 Merge "Second part of speeding up video recording frame rate" into kraken 2010-06-08 10:14:26 -07:00
James Dong
4f501f0f2b Second part of speeding up video recording frame rate
1. Avoid copying the input recording frames to the encoder via OMX interface
   for TI video encoder
   This is a missing change for part one which help reduces the CPU load.

2. Release output buffers as early as possible. This is a little bit helpful, but not critical.

TODO:
We should save the underlying pointers allocated by the OMX component before we replace them
and restore them before we call OMX_FreeBuffer()!

Change-Id: Ib3a88978f4c3b1153808872eaa7ac4c265a811ff
2010-06-08 10:01:47 -07:00
Andreas Huber
7a747b8e0d Initial checkin of preliminary rtsp support for stagefright.
Change-Id: I0722aa888098c0c1361c97a4c1b123d910afc207
2010-06-07 15:34:45 -07:00
Andreas Huber
2cbff0edb6 Merge "Initial checkin of preliminary support for "http live" streaming in stagefright." into kraken 2010-06-07 15:20:14 -07:00
Andreas Huber
202348e0d4 Initial checkin of preliminary support for "http live" streaming in stagefright.
Change-Id: I20399f63d63af86a3ba22641c0e43385a108fb3f
2010-06-07 14:35:29 -07:00
Jaikumar Ganesh
a8c2514edd Merge "Pass BluetoothDevice to the Bluetooth Headset calls." into kraken 2010-06-07 14:09:49 -07:00
Andreas Huber
a557b24ac4 Initial checkin of mpeg2 transport stream parser for stagefright.
Change-Id: I328ce77404daf7127933b48c9d58ed504fb8fc6f
2010-06-07 13:05:37 -07:00
Andreas Huber
455d41002e Merge "Initial checkin of "foundation" library for future stagefright development." into kraken 2010-06-07 12:50:05 -07:00
Andreas Huber
7d2f703649 Initial checkin of "foundation" library for future stagefright development.
Change-Id: I11714dcaa647d0437a13e4c5b953b35e712da8f3
2010-06-07 10:22:07 -07:00
James Dong
7a68d3686a Merge "Remove hard-coded pixel format for recording frames in CameraSource. Retrieve the pixel format from Camera HAL at runtime." into kraken 2010-06-07 10:19:58 -07:00
Eric Laurent
2ea200c5a7 Merge "Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications." into kraken 2010-06-04 00:14:46 -07:00
Andreas Huber
b8c7548df6 am e896d416: am 2e3761ba: Merge "Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle." into froyo
Merge commit 'e896d41699ffe7be932102d7ccc9566f41ddb447' into kraken

* commit 'e896d41699ffe7be932102d7ccc9566f41ddb447':
  Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle.
2010-06-03 15:31:56 -07:00
Andreas Huber
e896d41699 am 2e3761ba: Merge "Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle." into froyo
Merge commit '2e3761ba43f634e97ac493f4b79e5e53954a1491' into froyo-plus-aosp

* commit '2e3761ba43f634e97ac493f4b79e5e53954a1491':
  Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle.
2010-06-03 15:30:03 -07:00
Andreas Huber
2e3761ba43 Merge "Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle." into froyo 2010-06-03 15:28:13 -07:00
Andreas Huber
3c460f3da0 Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle.
Change-Id: I03dbdac3cd250340059ea43b341129b30acce4e2
related-to-bug: 2736779
2010-06-03 14:43:57 -07:00