730 Commits

Author SHA1 Message Date
Marco Nelissen
daefb17c25 am e1af0bd8: am 4f36104f: am e29c96e7: Merge "libexif is now libjhead" into klp-dev
* commit 'e1af0bd8588ca2de7084853017928729a793b769':
  libexif is now libjhead
2014-03-07 00:59:03 +00:00
Marco Nelissen
e1af0bd858 am 4f36104f: am e29c96e7: Merge "libexif is now libjhead" into klp-dev
* commit '4f36104f06755dc2c95b3d7c8bac5312d7572199':
  libexif is now libjhead
2014-03-07 00:47:02 +00:00
Marco Nelissen
c0786cc258 libexif is now libjhead
b/12203995
Change-Id: I6b749e251a2e03738550ce911e59527f80d26212
2014-03-06 16:00:35 -08:00
Ashok Bhat
fef85ef152 Cast CallVoidMethod's size_t parameters to jint
offset and size variables are passed to set method
of MediaCodec.BufferInfo java class. The corresponding
actual parameters of set method are of int type in java.

These variables are expected to fit in jint as they
indicate the offset and size of data in a media codec
buffer.

The variables are cast to jint, prior to passing to
java method, to avoid problems caused by automatic
type promotion of parameters when passed to a
variadic function, CallVoidMethod.

Change-Id: I39e202306f1b7122448c947f6d275f00251bb33a
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-03-06 13:06:40 +00:00
Ashok Bhat
e92416dfeb Don't assume that size_t is 32-bit
Crypto data was being copied to java jint array in chunks of
size_t. This will not work on LP64 as size_t will be 64-bit.
This patch changes copy to use int32_t chunks instead of size_t.

Change-Id: I75d910a1182ad2f58f432cd172127f048b4c393b
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-03-06 12:36:47 +00:00
Ashok Bhat
58fad0bf14 Don't use size_t for variables that store uint32_t value
The local variables width, height, displayWidth and
displayHeight are set to the corresponding members
of VideoFrame class. As the members of VideoFrame are
uint32_t, the local variables have been changed to
uint32_t.

As these local variables are passed to a java method,
the change of size_t to uint32_t ensures that the size
of the actual parameter (i.e uint32_t) is now same as
the size of the formal parameter (i.e. jint) for all
platforms.

Change-Id: Icd14de0142bfd4e6ba52a3e6aff3d80b323a0de4
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-03-06 11:33:20 +00:00
Chong Zhang
128b012cc8 fix MediaCodec release deadlock and resource leak
Bug: 12910147
Change-Id: I5f2c02b6ad5bfcd88797c6aa79dcaa23d030eacf
2014-03-03 12:29:49 -08:00
Derek Sollenberger
eece0dda56 Fix includes so that they no longer rely on the global Skia includes directories.
bug:13225538
Change-Id: Ia5d816dc665f81c7985f21036af4fd0a63c560cf
2014-02-27 14:31:29 -05:00
Andreas Huber
9ae000ca8c Revert "Split AndroidRuntime into AndroidRuntimeBase base-class and the rest."
This reverts commit 7825334929b098b36e1144872200e75ba6d24b13.

Change-Id: I1702eb3ff9d7192d64039c8bf4bc3fc5d8e458c4
2014-02-13 17:22:33 +00:00
Andreas Huber
7825334929 Split AndroidRuntime into AndroidRuntimeBase base-class and the rest.
AndroidRuntimeBase (exported by libandroid_runtime_base.so) is all you need
to link against to gain the ability to do AndroidRuntimeBase::getJNIEnv()
thus minimizing build dependencies.

Change-Id: Ia7f0c94c8c02b974c068e0db34774827f96aa95b
2014-02-12 15:00:05 -08:00
Narayan Kamath
b1ed19a2ed am 43c9516a: am 860bba68: am 7b7726b7: Merge "Fix in MediaMuxer\'s JNI code"
* commit '43c9516a29563131e04ee797562130e2c4f9d54e':
  Fix in MediaMuxer's JNI code
2014-02-11 16:40:35 +00:00
Ashok Bhat
d2507a2f3c Fix in MediaMuxer's JNI code
android_media_MediaMuxer_native_setup should return jlong. It was
incorrectly returning jint.

Change-Id: I31a475af0818f4d5dcbb39380b42612188cf3853
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-07 18:10:22 +00:00
Andreas Huber
b341a24b2a Merge "Remove no longer needed http proxy handling code, it's obsolete now" 2014-02-06 17:10:31 +00:00
Robert Shih
7da27478ea Merge "android_media_MediaMuxer_setLocation: amended signature." 2014-02-05 20:05:17 +00:00
Andreas Huber
f8a0c47e90 Remove no longer needed http proxy handling code, it's obsolete now
since we started to use java's HTTPConnection instead of the native
implementation.

Change-Id: I32b08480593a859e0368dbbcf8da8f25c9e08ca9
2014-02-05 11:53:40 -08:00
Robert Shih
3cb78498d3 android_media_MediaMuxer_setLocation: amended signature.
Change parameter `nativeObject` from type `jint` to `jlong` to match its JNI
signature.

Bug: 12890910
Change-Id: I7feb7fa5c3eccc07f2d1bc733b7d4b3a3b52e292
2014-02-05 10:53:55 -08:00
Andreas Huber
d2506a5063 FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code
Change-Id: I7f6cdcfd2a28846d36d89dd5180ef20a22b03af8
2014-02-04 14:45:28 -08:00
Zhijun He
10586ad2a6 am 4f840dd1: am 5901ddeb: am 0a1b64fe: Merge "Release locked buffer when it fails to acquire graphics buffer"
* commit '4f840dd16db41a2d4442667193d57260f84af04a':
  Release locked buffer when it fails to acquire graphics buffer
2014-01-31 15:12:38 +00:00
Zhijun He
0a1b64fe79 Merge "Release locked buffer when it fails to acquire graphics buffer" 2014-01-30 23:01:21 +00:00
Ashok Bhat
a0398430fc AArch64: Make graphics classes 64-bit compatible
Changes in this patch include

[x] Long is used to store native pointers as they can
    be 64-bit.

[x] Some minor changes have been done to conform with
    standard JNI practice (e.g. use of jint instead of int
    in JNI function prototypes)

[x] AssetAtlasManager is not completely 64-bit compatible
    yet. Specifically mAtlasMap member has to be converted
    to hold native pointer using long. Added a TODO to
    AssetAtlasManager.java to indicate the change required.

Change-Id: I940433f601c6db998c1a8ffff338f5361200d5ed
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-01-28 17:40:38 +00:00
Ashok Bhat
36bef0bf30 AArch64: Make graphics classes 64-bit compatible
This a merger of two commits submitted to AOSP by
the following authors:

ashok.bhat@arm.com, david.butcher@arm.coma
craig.barber@arm.com, kevin.petit@arm.com and
marcus.oakland@arm.com

Due to the very large number of internal conflicts, I
have chosen to cherry-pick this change instead
of letting it merge through AOSP because the merge
conflict resolution would be very hard to review.

Commit messages below:

================================================
AArch64: Make graphics classes 64-bit compatible

Changes in this patch include

[x] Long is used to store native pointers as they can
    be 64-bit.

[x] Some minor changes have been done to conform with
    standard JNI practice (e.g. use of jint instead of int
    in JNI function prototypes)

[x] AssetAtlasManager is not completely 64-bit compatible
    yet. Specifically mAtlasMap member has to be converted
    to hold native pointer using long. Added a TODO to
    AssetAtlasManager.java to indicate the change required.

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

==================================================================

AArch64: Use long for pointers in graphics/Camera

For storing pointers, long is used in
android/graphics/Camera class, as native
pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use of
jint instead of int in JNI function prototypes)

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

===================================================================

Change-Id: Id5793fa0ebc17ee8b1eecf4b3f327977fdccff71
2014-01-28 10:02:43 +00:00
lina.x.pi
334778981d Release locked buffer when it fails to acquire graphics buffer
The JNI buffer in ImageReader_imageSetup is not released when
it fails to acquire graphics buffer. After all JNI buffers are
exhausted, ACQUIRE_MAX_IMAGES will be returned and leads to
error. The JNI buffer should be released when it fails to acquire
graphics buffer.

Change-Id: I3319a58ac44e36c8593b404672a685c4b589a735
2014-01-28 06:08:52 +00:00
Andreas Huber
aba671392d API that allows usage of MediaCodec APIs without polling.
Change-Id: Iebccdd3aec74a2cfa9ad0bf16c0c6006a3b72999
related-to-bug: 11990118
2014-01-27 10:52:18 -08:00
Narayan Kamath
7023df08f1 Revert "AArch64: Make graphics classes 64-bit compatible"
This reverts commit 18b4cbeedef21c1fa666a110a157bab66edff976.

Change-Id: I0c52983a3ab1ace3ff743de546a43eca28e5cb0e
2014-01-27 14:22:45 +00:00
Ashok Bhat
18b4cbeede AArch64: Make graphics classes 64-bit compatible
This a merger of two commits submitted to AOSP by
the following authors:

ashok.bhat@arm.com, david.butcher@arm.coma
craig.barber@arm.com, kevin.petit@arm.com and
marcus.oakland@arm.com

Due to the very large number of internal conflicts, I
have chosen to cherry-pick this change instead
of letting it merge through AOSP because the merge
conflict resolution would be very hard to review.

Commit messages below:

================================================
AArch64: Make graphics classes 64-bit compatible

Changes in this patch include

[x] Long is used to store native pointers as they can
    be 64-bit.

[x] Some minor changes have been done to conform with
    standard JNI practice (e.g. use of jint instead of int
    in JNI function prototypes)

[x] AssetAtlasManager is not completely 64-bit compatible
    yet. Specifically mAtlasMap member has to be converted
    to hold native pointer using long. Added a TODO to
    AssetAtlasManager.java to indicate the change required.

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

==================================================================

AArch64: Use long for pointers in graphics/Camera

For storing pointers, long is used in
android/graphics/Camera class, as native
pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use of
jint instead of int in JNI function prototypes)

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

===================================================================

Change-Id: Ib3eab85ed97ea3e3c227617c20f8d213f17d4ba0
2014-01-27 13:28:16 +00:00
Marco Nelissen
0937eed32f Check that the exif bits are actually there
b/12663599

Change-Id: If2af0ab20f29ab3264a8c6c8c4abf0ebeff6616c
2014-01-22 15:10:57 -08:00
Narayan Kamath
6bb5cb24b4 Resolved conflicts for merge of 28c6ec02 to master
Change-Id: Idf1cabf2694dfa13d928df944d346f5e051b6948
2014-01-16 15:49:59 +00:00
Ashok Bhat
075e9a19ce AArch64: Use long for pointers in media classes
For storing pointers, long is used in media classes,
as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Idc4ca0124d03df7f9cef412488abafd020e5e774
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-15 13:09:27 +00:00
Marco Nelissen
633f8c227b am 28f032e6: am e2c046fe: am 13249411: am a9045d24: am 337aa376: Merge "Add NULL check in updateProxyConfig"
* commit '28f032e6a66d74d570b36672939000707455acb1':
  Add NULL check in updateProxyConfig
2014-01-14 16:25:18 +00:00
Marco Nelissen
337aa376c0 Merge "Add NULL check in updateProxyConfig" 2014-01-14 16:08:18 +00:00
Marco Nelissen
92351c5886 libjhead_jni is still needed
protip: do not remove things from makefiles just because it builds without them
b/12528751

Change-Id: I3ef8dcdf638e8b59d309922bb972c893fc75a712
2014-01-13 10:19:17 -08:00
Jason Sams
08af2ca38a am bb0a4f20: am 1ae17633: am 411350dd: am 739ae9b3: am 868173a5: Merge "Fix a JNI local reference leak in MediaDrm"
* commit 'bb0a4f20502c27a920b7d874c9a17c178afee5f9':
  Fix a JNI local reference leak in MediaDrm
2014-01-11 01:00:57 +00:00
Jason Sams
868173a53f Merge "Fix a JNI local reference leak in MediaDrm" 2014-01-11 00:42:20 +00:00
Marco Nelissen
3cd393c505 Make MtpDatabase use libexif instead of libjhead
b/12203995

Change-Id: I0e0e6209be7a9d3e493abdcee8619cae6d4b9501
2014-01-10 10:39:27 -08:00
Narayan Kamath
c975437ef3 am 1e3395c7: am 105b545e: am 0dce19ca: am 79ceb53a: am c58abeea: Merge "AArch64: Use long for pointers in MTP classes"
* commit '1e3395c7378a7dd293a2e8a8ac8fbf239adbad0c':
  AArch64: Use long for pointers in MTP classes
2014-01-07 13:10:19 +00:00
Narayan Kamath
819f2e1234 am 510616d2: am bec733af: am 23ebc24e: am 08467c57: am 9bc6acf2: Merge "AArch64: Use long for pointers in VideoEditor classes"
* commit '510616d215372e59e5e8c39b8de1125fc5b54c60':
  AArch64: Use long for pointers in VideoEditor classes
2014-01-07 13:10:14 +00:00
Narayan Kamath
e434ddd042 am 113e83e6: am 58cb0f0c: am bfbe585e: am c0c92f20: am 357ea905: Merge "AArch64: Use long for pointers in audio effect classes"
* commit '113e83e6f538ea217c167c6d8e11b28042ff2c53':
  AArch64: Use long for pointers in audio effect classes
2014-01-07 13:10:03 +00:00
Narayan Kamath
ac8bd534dd am 99aec6b5: am 40b0aaa9: am 568cde55: am 80cff944: am 74675f29: Merge "AArch64: Use long for pointers in AmrInputStream"
* commit '99aec6b5d1cb73a3f5b57badc53e6f56b2a53c4d':
  AArch64: Use long for pointers in AmrInputStream
2014-01-07 13:09:57 +00:00
Ashok Bhat
e2e59326f1 AArch64: Use long for pointers in MTP classes
For storing pointers, long is used in MTP classes,
as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: I67805547251722e7b77611d47d0bb632a64d3e6d
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-07 12:52:57 +00:00
Ashok Bhat
44ba5c1b4e AArch64: Use long for pointers in VideoEditor classes
For storing pointers, long is used in VideoEditor
classes, as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Ifff3a28f2ab6774ee89d31770ad63451c8726431
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-07 12:49:41 +00:00
Ashok Bhat
ea7861c918 AArch64: Use long for pointers in audio effect classes
For storing pointers, long is used in AudioEffect
and Visualizer classes, as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Ief49bbe5baef663e268c7f6d70ac33a4df45621c
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-07 12:47:51 +00:00
Ashok Bhat
b348c3fd87 AArch64: Use long for pointers in AmrInputStream
For storing pointers, long is used in AmrInputStream
class, as native pointers can be 64-bit.

Change-Id: I78fff3eb54fc7101746b0d693cbc4e923c2bad08
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-07 12:44:38 +00:00
Chong Zhang
83cc994ba4 MediaRecorder: add getSurface() api and SURFACE video source
Bug: 12305192
Change-Id: If833c5ac8a738ffa284307e0435b5cbd1b7379b1
2014-01-06 10:42:51 -08:00
Marco Nelissen
e754e7880a Merge "libexif is now libjhead" 2013-12-19 23:36:10 +00:00
Marco Nelissen
7f6abf84ab libexif is now libjhead
Change-Id: I6b749e251a2e03738550ce911e59527f80d26212
2013-12-19 14:21:19 -08:00
Narayan Kamath
f3172c623e Merge "MediaDrm#mNativeContext is a long, not int." 2013-12-19 12:35:24 +00:00
Patrik2 Carlsson
265551a164 Fix a JNI local reference leak in MediaDrm
A reference leak was found in the subtitle usecase that also
applies to android_media_MediaDrm.cpp
(Code taken from the similar fix in android_media_MediaPlayer.cpp)

Change-Id: Icc4b25e4adc9a600ff4ac99a7a8478bb55a6e348
2013-12-19 10:59:42 +09:00
Oscar Rydhé
e795ec73eb Add NULL check in updateProxyConfig
If the exclusionList was null in updateProxyConfig the VM would
crash when converting it to a UTF8 string. Avoid this by adding a
null check.

Change-Id: I0d8106fd54385bd9ae9c652a6c67d459a119cf2b
2013-12-19 09:38:59 +09:00
Narayan Kamath
535daa191b Remove unused field from MediaMuxer
Change-Id: If1ebb2302654b64924084a52425366f1b69c7c30
2013-12-18 17:58:11 +00:00
Narayan Kamath
f11dd63e0c MediaDrm#mNativeContext is a long, not int.
Therefore, we must use SetLongField and not SetIntField.

Change-Id: I2a805dd6b7c8e4905e742d8632d941f381a05930
2013-12-18 16:58:36 +00:00