Import all changes from the Ubuntu fork #328

Merged
merged 435 commits into from Jan 27, 2017

Conversation

Projects
None yet
@morphis
Member

morphis commented Nov 23, 2016

This import nearly all changes we did in Ubuntu on top of a libhybris release from the end of last year. There are quite some differences but a lot of features added.

  • Android 6 support
  • Arm64 support
  • Dynamic linker support
  • A lot enablement changes

I didn't went through the list of other changes done in upstream but I feel the easiest is the apply any needed ones again on top of this giant merge proposal (if still needed).

Yuan-Chen Cheng and others added some commits Oct 13, 2015

compat: input: adding support for Android 5.x
Change-Id: I53c3585bf6bacc9faa2a18c0810127687d8045cb
Signed-off-by: Ondrej Kubik <ondrej.kubik@canonical.com>
compat: sf: Adding support for Android 5.x
Change-Id: Id9483f698e9216b8a4fab79df945bf34f0e74648
Signed-off-by: Ondrej Kubik <ondrej.kubik@canonical.com>
compat: media: Adding support for Android 5.x
Change-Id: I75a88694143010bb9e39adebcec79c349dedace1
Signed-off-by: Ondrej Kubik <ondrej.kubik@canonical.com>
Chunsang Jeong Simon Fels
compat: camera: Add support for Android 5.x
Change-Id: I9a5b4eadaf889ec43d4bf10e366836ff16c46115
Signed-off-by: Ondrej Kubik <ondrej.kubik@canonical.com>
compat: media: force 32bit compilation
Change-Id: Iedbecff92b6059fa7dc8adc52f532bef315dd664
You-Sheng Yang
compat: media: fix build with avila
On avila, file compat/media/media_recorder_client.cpp includes
frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h, which
includes LivePhotoSource.h of libstagefright, and that is not in the
include path yet.

Signed-off-by: You-Sheng Yang <vicamo.yang@canonical.com>
compat: camera: Fix a use-after-free when creating a new CameraContro…
…l after deleting an old one

CameraControl is reference counted, and android_camera_connect_to stores
a strong reference to it in a global pointer. However, android_camera_delete
just deletes the CameraControl instance, which results in a UAF when
calling android_camera_connect_to again.

This patch drops the global reference to CameraControl, and relies on the
fact that CameraControl is kept alive because android::Camera holds a
strong reference to it as its listener. As CameraControl also owns a strong
reference to android::Camera, this creates a reference loop that we break
in android_camera_delete
hybris/camera/camera.c: Add android_camera_set_preview_format
This function already exists in compat/camera, and is required by Oxide
compat: camera: Allow applications to turn on preview callbacks
This is required for Oxide in order for it to receive software frames
wifi: fix hardware_legacy/wifi.h not found
Android headers were supposed to be installed to /usr/include. When it's
not the case, even with a correct C include path set for Android
headers, the build still fails with "hardware_legacy/wifi.h not found".

This patch removes the redundant level of directory from wifi related
include directives.
Simon Fels
compat: media: abstract differences in media API across multiple devices
Some device trees implement extensions to the media API like the pause
function. We now require those devices to specify a flag in their
BoardConfig.mk to let us now they are providing this extended
functionality. This API to ubuntu will still provide those things but
will not have an implementation and will always fail if the device
tree doesn't support this.

A device support the extensions has to put the following line into
its BoardConfig.mk:

 BOARD_HAS_MEDIA_PLAYER_PAUSE := true

All others which don't implement the pause function simply do
nothing.
Carsten Munk Simon Fels
Hook getlogin, __sprintf_chk, __snprintf_chk
Signed-off-by: Carsten Munk <carsten.munk@jollamobile.com>

Simon Fels and others added some commits Aug 12, 2016

hooks: fix getmntent, getmntent_r
Glibc doesn't allow NULL FILE pointer passed to the two calls but bionic
does, which fails bionic integration tests.
Revert "hooks: use pthread_attr_{get,set}stack when available"
pthread_attr_setstack requires a valid stack buffer passed, or the
process will crash when pthread_create is called then. Since there is no
trivial way to address this, just stick to the deprecated calls for now.

This reverts commit 6b9606a.

@morphis morphis referenced this pull request Nov 23, 2016

Closed

marshmallow dynamic loader #327

@bhush9

This comment has been minimized.

Show comment
Hide comment
@bhush9

bhush9 Nov 23, 2016

Contributor

Trying to build this, seems to fail at configure stage..

configure.ac:224: error: required file 'camera/Makefile.in' not found
configure.ac:224: error: required file 'camera/libcamera.pc.in' not found

Contributor

bhush9 commented Nov 23, 2016

Trying to build this, seems to fail at configure stage..

configure.ac:224: error: required file 'camera/Makefile.in' not found
configure.ac:224: error: required file 'camera/libcamera.pc.in' not found

@morphis

This comment has been minimized.

Show comment
Hide comment
@morphis

morphis Nov 23, 2016

Member

Fixed.

Member

morphis commented Nov 23, 2016

Fixed.

@krnlyng

This comment has been minimized.

Show comment
Hide comment
@krnlyng

krnlyng Nov 23, 2016

Member

42e27f9 is kinda hacky but much more nice than what i have done locally 👍

3ab2ca5 needs to be thought about, can we build everything into libhybris-common and still select the linkers at runtime? probably would require us to rename most linker functions, or is there a saner way?

7ae2b39 can this be made with env variable HYBRIS_LINKER_STDOUT=1 like it was before?

is the packaging really necessary in this repository? i kind of liked the idea of having a generic repository + a packaging repository with a submodule.

can we have the tracing functionality as a debug option without adding a special hook for every symbol?
i am thinking about something like this (simplified and pseudocode):

compile time solution:

#ifdef DEBUG
... all the indirect hooks useful for tracing ...
#endif

#ifdef DEBUG
#define HOOK_DIRECT(symbol) {#symbol, _hybris_hook_##symbol}
#else
#define HOOK_DIRECT(symbol) {#symbol, symbol},
#endif

#define HOOK(symbol) {#symbol, _hybris_hook##symbol}
#define HOOK_TO(symbol, hook) {#symbol, hook}

struct _hook hooks[] = {
...
    HOOK_DIRECT(strcmp), // for functions that can be hooked directly
    HOOK(fgets), // for functions that cannot be directly hooked
    HOOK_TO(__progname, something_other_than__hybris_hook), // for variables
...
};

OR at runtime:

struct _hook hooks[] = {
...
    {"strcmp", strcmp},
...
};
struct _hook debug_hooks[] = {
...
    {"strcmp", _hybris_hook_strcmp},
...
};

void *get_hooked_symbol(const char *symbol)
{
    if env variable HYBRIS_TRACE is set
        return symbol from debug_hooks;
    else
        return symbol from hooks;
}

thanks for adding the PR!

Member

krnlyng commented Nov 23, 2016

42e27f9 is kinda hacky but much more nice than what i have done locally 👍

3ab2ca5 needs to be thought about, can we build everything into libhybris-common and still select the linkers at runtime? probably would require us to rename most linker functions, or is there a saner way?

7ae2b39 can this be made with env variable HYBRIS_LINKER_STDOUT=1 like it was before?

is the packaging really necessary in this repository? i kind of liked the idea of having a generic repository + a packaging repository with a submodule.

can we have the tracing functionality as a debug option without adding a special hook for every symbol?
i am thinking about something like this (simplified and pseudocode):

compile time solution:

#ifdef DEBUG
... all the indirect hooks useful for tracing ...
#endif

#ifdef DEBUG
#define HOOK_DIRECT(symbol) {#symbol, _hybris_hook_##symbol}
#else
#define HOOK_DIRECT(symbol) {#symbol, symbol},
#endif

#define HOOK(symbol) {#symbol, _hybris_hook##symbol}
#define HOOK_TO(symbol, hook) {#symbol, hook}

struct _hook hooks[] = {
...
    HOOK_DIRECT(strcmp), // for functions that can be hooked directly
    HOOK(fgets), // for functions that cannot be directly hooked
    HOOK_TO(__progname, something_other_than__hybris_hook), // for variables
...
};

OR at runtime:

struct _hook hooks[] = {
...
    {"strcmp", strcmp},
...
};
struct _hook debug_hooks[] = {
...
    {"strcmp", _hybris_hook_strcmp},
...
};

void *get_hooked_symbol(const char *symbol)
{
    if env variable HYBRIS_TRACE is set
        return symbol from debug_hooks;
    else
        return symbol from hooks;
}

thanks for adding the PR!

@morphis

This comment has been minimized.

Show comment
Hide comment
@morphis

morphis Nov 23, 2016

Member

For 3ab2ca5 I agree that this can be done better but we didn't found a good think when adding the dynamic linker in time to get things working well. With the indirect stuff libGLESv2 was crashing at multiple places. Everything else should be fine and working. Also could we make the dynamic linker an optional feature but that would make the test scenarios quite more complex.

For 7ae2b39 , sure we can add those env variables back to the mm linker. We didn't had the time yet to do that. Patches welcome :-)

For the hook/trace thing I like what you propose to do at runtime but actually this should be covered with some nice macros too.

Member

morphis commented Nov 23, 2016

For 3ab2ca5 I agree that this can be done better but we didn't found a good think when adding the dynamic linker in time to get things working well. With the indirect stuff libGLESv2 was crashing at multiple places. Everything else should be fine and working. Also could we make the dynamic linker an optional feature but that would make the test scenarios quite more complex.

For 7ae2b39 , sure we can add those env variables back to the mm linker. We didn't had the time yet to do that. Patches welcome :-)

For the hook/trace thing I like what you propose to do at runtime but actually this should be covered with some nice macros too.

@krnlyng

This comment has been minimized.

Show comment
Hide comment
@krnlyng

krnlyng Nov 23, 2016

Member

@morphis seems like _hybris_hook_scandir and my_scandir are duplicates of each other
same for scandirat
alphasort, versionsort seem to be hooked twice too (there are more duplicate hooks)

EDIT: can you also provide a testcase for the glesv2 issue? i cannot seem to reproduce any crashes with the indirect functions enabled, this is what i am using now: https://github.com/krnlyng/libhybris/tree/ubuntu

Member

krnlyng commented Nov 23, 2016

@morphis seems like _hybris_hook_scandir and my_scandir are duplicates of each other
same for scandirat
alphasort, versionsort seem to be hooked twice too (there are more duplicate hooks)

EDIT: can you also provide a testcase for the glesv2 issue? i cannot seem to reproduce any crashes with the indirect functions enabled, this is what i am using now: https://github.com/krnlyng/libhybris/tree/ubuntu

@ghosalmartin

This comment has been minimized.

Show comment
Hide comment
@ghosalmartin

ghosalmartin Nov 25, 2016

With this version of the linker it seemed to crash inside is_gnu_hash for EGL libs.

With this version of the linker it seemed to crash inside is_gnu_hash for EGL libs.

@bhush9

This comment has been minimized.

Show comment
Hide comment
@bhush9

bhush9 Nov 25, 2016

Contributor

backtrace of test_hwcomposer for record

#0  soinfo::is_gnu_hash (this=this@entry=0x6c2f7369) at linker.cpp:2385
#1  0xf73bb154 in soinfo::find_symbol_by_name (this=this@entry=0x6c2f7369, symbol_name=..., vi=vi@entry=0x0, symbol=symbol@entry=0xfffef270) at linker.cpp:491
#2  0xf73bb4c0 in <lambda(soinfo*)>::operator() (current_soinfo=0x6c2f7369, __closure=0xfffef22c) at linker.cpp:938
#3  walk_dependencies_tree<dlsym_handle_lookup(soinfo*, soinfo*, soinfo**, SymbolName&)::<lambda(soinfo*)> >(soinfo **, <lambda(soinfo*)>, size_t) ( root_soinfos=root_soinfos@entry=0xfffef264, action=..., root_soinfos_size=1) at linker.cpp:912
#4  0xf73bbcce in dlsym_handle_lookup (symbol_name=..., found=0xfffef2b4, skip_until=0x0, root=0x6c2f7369) at linker.cpp:949
#5  dlsym_handle_lookup (si=si@entry=0x6c2f7369, found=found@entry=0xfffef2b4, name=name@entry=0xf7356695 "eglCreateStreamKHR") at linker.cpp:969
#6  0xf73b9596 in android_dlsym (handle=0x6c2f7369, symbol=0xf7356695 "eglCreateStreamKHR") at dlfcn.cpp:127
#7  0xf6696628 in ?? ()
Contributor

bhush9 commented Nov 25, 2016

backtrace of test_hwcomposer for record

#0  soinfo::is_gnu_hash (this=this@entry=0x6c2f7369) at linker.cpp:2385
#1  0xf73bb154 in soinfo::find_symbol_by_name (this=this@entry=0x6c2f7369, symbol_name=..., vi=vi@entry=0x0, symbol=symbol@entry=0xfffef270) at linker.cpp:491
#2  0xf73bb4c0 in <lambda(soinfo*)>::operator() (current_soinfo=0x6c2f7369, __closure=0xfffef22c) at linker.cpp:938
#3  walk_dependencies_tree<dlsym_handle_lookup(soinfo*, soinfo*, soinfo**, SymbolName&)::<lambda(soinfo*)> >(soinfo **, <lambda(soinfo*)>, size_t) ( root_soinfos=root_soinfos@entry=0xfffef264, action=..., root_soinfos_size=1) at linker.cpp:912
#4  0xf73bbcce in dlsym_handle_lookup (symbol_name=..., found=0xfffef2b4, skip_until=0x0, root=0x6c2f7369) at linker.cpp:949
#5  dlsym_handle_lookup (si=si@entry=0x6c2f7369, found=found@entry=0xfffef2b4, name=name@entry=0xf7356695 "eglCreateStreamKHR") at linker.cpp:969
#6  0xf73b9596 in android_dlsym (handle=0x6c2f7369, symbol=0xf7356695 "eglCreateStreamKHR") at dlfcn.cpp:127
#7  0xf6696628 in ?? ()
@ghosalmartin

This comment has been minimized.

Show comment
Hide comment
@ghosalmartin

ghosalmartin Nov 25, 2016

@bhush9 Did the one from my fork still have the same issue?

@bhush9 Did the one from my fork still have the same issue?

@bhush9

This comment has been minimized.

Show comment
Hide comment
@bhush9

bhush9 Nov 25, 2016

Contributor

I am not super sure.. but I can retry in sometime.

EDIT: I confused different issue with this one, I still have this linker crash with ubuntu's mm linker and had separate issue with fork and not is_gnu_hash crash.

Contributor

bhush9 commented Nov 25, 2016

I am not super sure.. but I can retry in sometime.

EDIT: I confused different issue with this one, I still have this linker crash with ubuntu's mm linker and had separate issue with fork and not is_gnu_hash crash.

@krnlyng

This comment has been minimized.

Show comment
Hide comment
@krnlyng

krnlyng Nov 25, 2016

Member

@morphis we're still investigating the is_gnu_hash issue, but i have added some commits on top of this: https://github.com/krnlyng/libhybris/tree/ubuntu it works well on my device and solves a segfault on exit of all processes (7891cf2). please take a look.

EDIT: @bhush9 this has been resolved by ghosalmartin, try: https://github.com/krnlyng/libhybris/tree/ubuntu

Member

krnlyng commented Nov 25, 2016

@morphis we're still investigating the is_gnu_hash issue, but i have added some commits on top of this: https://github.com/krnlyng/libhybris/tree/ubuntu it works well on my device and solves a segfault on exit of all processes (7891cf2). please take a look.

EDIT: @bhush9 this has been resolved by ghosalmartin, try: https://github.com/krnlyng/libhybris/tree/ubuntu

@krnlyng

could it be that b4c82eb is the cause for the random crashes inside GLESv2, at least on arm? GLES2_IDLOAD does not handle floating point arguments afaik (and even cannot handle those)

@morphis

This comment has been minimized.

Show comment
Hide comment
@morphis

morphis Nov 30, 2016

Member

@krnlyng You need to be careful with the linker you select on your platform. The hash scheme was changed with the Android 5 linker and if there are old binaries in your system things may conflict.

I didn't looked into the details of your changes yet but I would propose we merge this PR and then get your changes on top of this one as followup PRs. How does that sound?

Member

morphis commented Nov 30, 2016

@krnlyng You need to be careful with the linker you select on your platform. The hash scheme was changed with the Android 5 linker and if there are old binaries in your system things may conflict.

I didn't looked into the details of your changes yet but I would propose we merge this PR and then get your changes on top of this one as followup PRs. How does that sound?

@krnlyng

This comment has been minimized.

Show comment
Hide comment
@krnlyng

krnlyng Nov 30, 2016

Member

@morphis we have selected the correct linker, the issue was due to a pthread_getspecific issue where it loaded a key which was not initialized which caused all kinds of confusion within the blobs when dynamically loading other libraries

we're still looking into getting this to work on our devices, hybris-13 adaptation works fine now with some additional changes but we want to have it work on older adaptations too to make the transition as smooth (as in be ready with our pull requests as soon as this has been merged) as possible, also we're still unsure about the packaging inside this repository since it bloats the history unnecessarily with commits that are either not useful for us or for ubuntu. so yes it sounds good but we would appreciate if we waited a few days longer before merging this to sort things out.

have you seen my comment about the glesv2 issue?
also the bionic_file struct has a little issue which causes crashes in most applications (so far only seen on exit). it think it might be worth considering the inclusion of 7891cf2 directly here.

thanks for the hard work!

Member

krnlyng commented Nov 30, 2016

@morphis we have selected the correct linker, the issue was due to a pthread_getspecific issue where it loaded a key which was not initialized which caused all kinds of confusion within the blobs when dynamically loading other libraries

we're still looking into getting this to work on our devices, hybris-13 adaptation works fine now with some additional changes but we want to have it work on older adaptations too to make the transition as smooth (as in be ready with our pull requests as soon as this has been merged) as possible, also we're still unsure about the packaging inside this repository since it bloats the history unnecessarily with commits that are either not useful for us or for ubuntu. so yes it sounds good but we would appreciate if we waited a few days longer before merging this to sort things out.

have you seen my comment about the glesv2 issue?
also the bionic_file struct has a little issue which causes crashes in most applications (so far only seen on exit). it think it might be worth considering the inclusion of 7891cf2 directly here.

thanks for the hard work!

@ghosalmartin

This comment has been minimized.

Show comment
Hide comment
@ghosalmartin

ghosalmartin Dec 25, 2016

So are we going with this version of libhybris android 6 changes? What needs to be done to ensure legacy platforms are well supported?

So are we going with this version of libhybris android 6 changes? What needs to be done to ensure legacy platforms are well supported?

@morphis

This comment has been minimized.

Show comment
Hide comment
@morphis

morphis Jan 9, 2017

Member

@ghosalmartin Yes we will. This PR gives support for different linker versions where the right one is selected at runtime. We still support the 4.x based linker for legacy platforms and will use the 6.x one for newer ones.

Member

morphis commented Jan 9, 2017

@ghosalmartin Yes we will. This PR gives support for different linker versions where the right one is selected at runtime. We still support the 4.x based linker for legacy platforms and will use the 6.x one for newer ones.

@ghosalmartin

This comment has been minimized.

Show comment
Hide comment
@ghosalmartin

ghosalmartin Jan 12, 2017

Awesome, so whats stopping us? :P

Awesome, so whats stopping us? :P

@morphis

This comment has been minimized.

Show comment
Hide comment
@morphis

morphis Jan 27, 2017

Member

Let me drop the debian/ part of this and then I will merge this in.

Member

morphis commented Jan 27, 2017

Let me drop the debian/ part of this and then I will merge this in.

@bhush9

This comment has been minimized.

Show comment
Hide comment
@bhush9

bhush9 Jan 27, 2017

Contributor

Oh reminds me, I had to edit extract-headers.h to extract some more header files to get it built actually. I think it was set_abort_message.h and one more file..

Contributor

bhush9 commented Jan 27, 2017

Oh reminds me, I had to edit extract-headers.h to extract some more header files to get it built actually. I think it was set_abort_message.h and one more file..

@morphis

This comment has been minimized.

Show comment
Hide comment
@morphis

morphis Jan 27, 2017

Member

@bhush9 Can you submit those changes as an additional PR?

Member

morphis commented Jan 27, 2017

@bhush9 Can you submit those changes as an additional PR?

@bhush9

This comment has been minimized.

Show comment
Hide comment
@bhush9

bhush9 Jan 27, 2017

Contributor

Sure, I can do that.

Contributor

bhush9 commented Jan 27, 2017

Sure, I can do that.

@morphis

This comment has been minimized.

Show comment
Hide comment
@morphis

morphis Jan 27, 2017

Member

As CI has approved this now I intend to merge this later today if nobody else comments.

Member

morphis commented Jan 27, 2017

As CI has approved this now I intend to merge this later today if nobody else comments.

@stskeeps

This comment has been minimized.

Show comment
Hide comment
@stskeeps

stskeeps Jan 27, 2017

Member

go for it

Member

stskeeps commented Jan 27, 2017

go for it

@morphis morphis closed this Jan 27, 2017

@morphis morphis reopened this Jan 27, 2017

@morphis morphis merged commit 3024a73 into libhybris:master Jan 27, 2017

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

NotKit pushed a commit to NotKit/libhybris that referenced this pull request Jul 10, 2017

Squashed 'libhybris/' changes from 8251486..240ae56
240ae56 Merge pull request #332 from krnlyng/faster-hooks
a37a36b Merge pull request #335 from Tofee/master
45acbd4 linker: introduce HYBRIS_LINKER_FORCE_BASENAME for .so search
1178a8c hybris: hook functions directly, where possible, if tracing is disabled
2c235fc Merge pull request #334 from krnlyng/fix-fpos_t
2de0ef3 Merge pull request #333 from krnlyng/qualcomm
ab2bfbe hybris: fix mismatch between bionic fpos_t size and glibc fpos_t in bionic_file struct
46403fb hybris: pthread_getspecific: return NULL on invalid key
ca4962d hybris: hook __progname to program_invocation_name to avoid strcmp(NULL, "zygote") case properly. not removing the check in strcmp though since there might be other occasions where this happens
09df944 mm: initialize HYBRIS_LD_LIBRARY_PATH during initialization since it is never initialized anywhere else, except in __linker_init which is never called
3024a73 Merge pull request #328 from morphis/merge-with-upstream
b766b89 Merge remote-tracking branch 'upstream/master' into merge-with-upstream
632c211 Merge pull request #329 from morphis/travis-support
8e337e3 Add travis build support for CI
36d2e8f Ensure HAS_LIBNFC_NXP_HEADERS conditional defined for all code paths
efe57bd Drop debian packaging as that is nothing which should go upstream
085cd7e Merge pull request #323 from Herrie82/herrie/gcc6-fix
dc32b18 Merge branch 'master' into merge-with-upstream
47e71f5 hooks.c: Wrap some GCC builtin functions, which don't have any address to fix GCC6 build
29b17dc debian: release 0.1.0+git20151016+6d424c9-0ubuntu23
8e714b1 Merge remote-tracking branch 'vicamo/for-ubuntu/fix-bionic-sizeof-file'
388d6f0 Revert "hooks: use pthread_attr_{get,set}stack when available"
74b5544 hooks: fix getmntent, getmntent_r
9c9070e hooks: add readdir64, readdir64_r
2415206 hooks: fix bionic FILE struct size on arm64
dcd06dd Merge remote-tracking branch 'vicamo/for-ubuntu/build-multilib-compat'
a04255f Merge remote-tracking branch 'vicamo/for-ubuntu/fix-warnings'
0afe2ec Merge remote-tracking branch 'laney/master'
1f033aa build: fix misc warnings
b27435f compat: always build binaries for both arch
ce5da05 hooks:c: Don't pass builtin functions.
6b9606a hooks: use pthread_attr_{get,set}stack when available
01b5eab hooks: fix arm64 shared pthread ptr implementation
0fc8151 hooks: fix scandir/scandirat hooks prototypes
c3c950a build: include config.h first
556cfc9 build: fix warnings due to arm32/arm64 types size differences
6556a3f debian: release 0.1.0+git20151016+6d424c9-0ubuntu22
4b1a19c Merge remote-tracking branch 'vicamo/for-ubuntu/arm64-compat'
2fc8b56 Merge remote-tracking branch 'vicamo/for-ubuntu/dont-use-jb-linker-on-arm64-anyway'
e208a00 compat: build arm64 flavor when available
079fdc5 configure: use lib64 for DEFAULT_HYBRIS_LD_LIBRARY_PATH on arm64
cd5aacb linker: remove /system/lib prefix from lib paths
f7dc8df linker: disable linker probing when unavailable
6540b72 debian: release 0.1.0+git20151016+6d424c9-0ubuntu21
1247e33 Merge remote-tracking branch 'abeato/add-bool-def'
0f69554 compat: media: add bool macro definition
34fab4a debian: release 0.1.0+git20151016+6d424c9-0ubuntu20
41edbef Merge remote-tracking branch 'abeato/remove-signal-hooks'
b363110 Merge remote-tracking branch 'morphis/wifi-driver-commands'
0d7dd61 hybris: wifi: add new API method to send driver command
edb7d5d hybris: common: remove hooks for signal handling
11d0095 debian: release 0.1.0+git20151016+6d424c9-0ubuntu19
cc5579d Merge remote-tracking branch 'binlin/bug-1596772/add-scandir-hook'
c248dae Merge remote-tracking branch 'morphis/mm-fixes'
9643f0b hybris: common: mm: drop unneeded compile time definitions
8d821a0 hybris: common: mm: include strlcat/strlcpy to avoid linke time issues
7bcb77b hybris: common: remove old and unused gb and ics linkers
ebebd7d hybris: common: Add hooks to support scandir
dd05167 debian: release 0.1.0+git20151016+6d424c9-0ubuntu18
db29558 Merge remote-tracking branch 'morphis/import-upstream-fixes'
df0fd43 [glesv2] Wrap glGetString() and return GL_VERSION == 2.0
28fc4ff [properties] An off-by-one error in prop handling
2507693 debian: release 0.1.0+git20151016+6d424c9-0ubuntu17
9ee10ef Merge remote-tracking branch 'morphis/fixes-for-multi-linker'
118774b debian: enable ubuntu linker overrides only for armhf
17ffaf7 hybris: common: enable linker overrides only by configure option
b45a220 hybris: glesv2: don't return anything in functions with void as return type
158d1f7 hybris: common: rename variable containing hooks for all devices
f47b3f5 hybris: common: use debug log statement rather than plain printf
816b8bc hybris: common: add env variable to override selected SDK version
017e63d hybris: common: force SDK version 19 for cooler too
4927ba4 hybris: common: use correct property name for device name
d3bfece hybris: common: more fine tuning for runtime linker loading
3ab2ca5 hybris: glesv2: revert back to version without using GNU indirect feature
111fd5a hybris: glesv2: really drop all unneeded symbols
368384c hybris: glesv2: drop redefined symbols
b4c82eb hybris: glesv2: load symbols on demand
14b4bfa hybris: common: fine tune dynamic linker load process
299d15f Revert "Fix resolving the GLEsv2 functions at link time"
945b982 debian: release 0.1.0+git20151016+6d424c9-0ubuntu16
0872a6f debian: release 0.1.0+git20151016+6d424c9-0ubuntu15
111ffc0 Merge remote-tracking branch 'morphis/multi-linker'
ebb2f0b hybris: common: add support for dynamic linker loading at runtime
f8f500e hybris: mm: use recursive mutex for dlopen/.. locking
a7696ca debian: release 0.1.0+git20151016+6d424c9-0ubuntu14
ad9a7dd debian: bump standards version to 3.9.7
8c2804b debian: update copyright file
2a67bf6 Merge branch 'fix-glesv2-loading'
4a41364 Fix resolving the GLEsv2 functions at link time
d69cce6 Merge remote-tracking branch 'rex/compat-marshmallow'
c19f613 Merge remote-tracking branch 'morphis/mm-support'
367eed0 debian: package libGLESv1_CM.so
8e7c0e9 hybris: common: mm: use correct names for relocation types
fae23bb hybris: detect arm64 architecture at configuration time
1c280ef debian: enable mm linker by default
f6cf6ef debian: install load_sym_files.py gdb helper script
74249d7 hybris: common: add more necessary hooks
a2d1d25 hybris: common: fix printf format
7aaea01 hybris: common: add hook for strcmp to fail on nullptr
ec3e4ed hybris: common: mm: drop old ARCH_FLAGS we don't need
f24aa66 hybris: use pthread rather than lpthread to link with pthread lib
45374d3 hybris: common: improve tracing for a few hooks
6029625 hybris: common: add a few more necessary hooks
4c797dc hybris: common: add new keys for sysconf
0434aa7 hybris: common: add more hooks to let string.* bionic tests pass
225ba8d hybris: common: add proper copyright header for sysconf implementation
a71d21f hybris: common: add tracing for sysconf hook
ca7102a hybris: common: respect unsigned nature of size_t
cfd96f9 hybris: common: convert addrinfo struct correctly
16b634a utils: update load-sym-files gdb command to python3
23a9f1a hybris: common: add tracing support for our hooks
85bf747 hybris: common: switch hook prefix to _hybris_hook_
63a630a hybris: hooks: hook a few more symbols for Android 6 support
0ed220c hybris: egl: don't create surface mapping when creation failed
3120222 hybris: common: deliver symbol requester through our hooks too
bc7f73e hybris: common: make hook handler availble for C++
4013385 hybris: common: really make hooking work
fd4b81f hybris: common: mm: fix compliation in x86
ab2cdb3 hybris: common: mm: add missing line ending for error messages
62d2dba hybris: common: add ability to deliver hooks from the outside
f03d311 hybris: common: add c'tor to initialize linker logging
15f8189 tests: add missing pthread to LDADD for test_nfc
c7d3314 hybris: common: mm: disable some more code parts we don't use
eaaf6ab hybris: common: mm: switch from fprintf to DEBUG
4a8b0f5 hybris: common: add missing libs we have to link to
78c17cd hybris: mention experimental configure option in summary
91d9500 hybris: common: mm: replace LINKER_DEBUG with TRACE_DEBUG
501ed53 hybris: common: mm: respect hybris specific library paths only
d6add1e hybris: common: mm: disable linker internal memory mgmt for small objects
9f3d6bf hybris: common: mm: don't memset class instance
6001eca hybris: common: mm: further enablement work
4bba709 hybris: common: build with c++ support
7cbb991 hybris: common: mm: get linker building on arm platforms
1fef10b hybris: common: mm: use HYBRIS_LD_DEBUG to enable debug output
7ae2b39 hybris: common: mm: redirect all linker logs to stdout
d5b97d9 hybris: common: mm: add symbol hooking functionality
3f35a4f hybris: common: add hybris prefix for our hook processing method
1311104 hybris: common: mm: export android_* dlfcn functions for use from C
72ed65c hybris: common: mm: disable debuggerd connection
79905f1 hybris: common: mm: disable tls initialization
7663b4b hybris: common: mm: get rid of sys/limits.h copy
d1ae23a hybris: common: mm: drop support for libs inside zip archives
9a6203e hybris: common: make marshmellow linker building
5ffbab8 hybris: common: enable building marshmellow linker
5dd344c hybris: common: import marshmallow linker
420b2f8 hybris: note used android version in configure summary
2af5c5e hybris: introduce experimental configuration feature
95cd65b Fix MediaCodecSource::Create() API change for Android 6.0.0_r1.
9851a94 Fix Android 6.x build for Android Build System.
9ee460d debian: release 0.1.0+git20151016+6d424c9-0ubuntu13
5e9ca30 hybris: common: stub: don't assert but return error
b95785f debian: release 0.1.0+git20151016+6d424c9-0ubuntu12
bc5ac56 debian: split out arch specific configuration flags
81cfbdd debian: release 0.1.0+git20151016+6d424c9-0ubuntu11
b3ce665 hybris: autotools want it to be README
d4dd727 Merge remote-tracking branch 'morphis/stubbed-linker'
26f0303 hybris: add README file stating which architectures are supported
f2e2f1d debian: add build support for arm64
3a19397 debian: split out common parts of the default configuration
eeaa91b hybris: common: add stub linker implementation
ab4d3e0 debian: release version 0.1.0+git20151016+6d424c9-0ubuntu10
3a4ce85 debian: update changelog
6ac8f08 debian: add missing hybris/common include directory
e5a3629 debian: release 0.1.0+git20151016+6d424c9-0ubuntu9
89d626d debian: update changelog
93ef942 Merge remote-tracking branch 'morphis/media-encoding'
2deb3e7 compat: media: don't put Android 5.x as a requirement for MediaCodecSource
d1d1cab compat: media: introduce API version number
6c070a0 compat: media: only build media codec source support for Android 5.x
d70e261 hybris/compat: media: wrap android media codec source implementation
9372c8c debian: release version 0.1.0+git20151016+6d424c9-0ubuntu8
221ec56 debian: update changelog
164eb94 debian: release version 0.1.0+git20151016+6d424c9-0ubuntu7
845b37c debian: update changelog
221bf70 Merge commit 'c0c6bff5cd182a0999ac1dc9eca49e47f0449259' into merge-288238
c0c6bff debian: adjust our build depends depending which distro we build for
db66306 compat: force modules to be build for 32bit only
decd10c Merge remote-tracking branch 'uriboni/staging'
a88ed3f debian: release version 0.1.0+git20151016+6d424c9-0ubuntu5
58ce694 Merge remote-tracking branch 'morphis/check-for-vivid'
06f9cd8 hybris: add hook for freeaddrinfo and getaddrinfo
c129a23 Revert "debian: drop requirement of gcc 4.7"
b5db2db debian: release version 0.1.0+git20151016+6d424c9-0ubuntu5
a1c93c8 debian: drop requirement of gcc 4.7
0bac189 debian: release version 0.1.0+git20151016+6d424c9-0ubuntu4
efe80d6 debian: update changelog
c46cd98 debian: rules: cleanup formatting for autoconf options
5ba2f69 debian: enable property cache for x86 and armhf
ca70824 debian: sync changelog up with what is released
67022f0 Merge branch 'staging'
9ea13b9 Merge remote-tracking branch 'morphis/fix-binding-generator' into staging
9f09487 utils: fix binding wrapper macro generator script
8b3e26b Merge remote-tracking branch 'morphis/debian-packaging-fixes' into staging
8826f20 Revert "debian: don't package NFC stuff anymore"
57e12f5 debian: drop stripping of not existing package
2622cac Merge remote-tracking branch 'morphis/symbol-check' into staging
5e28b24 Merge remote-tracking branch 'vicamo/for-libhybris-maintainers/always-null-for-unhooked-symbol' into staging
17706b2 Merge remote-tracking branch 'morphis/import-property-cache' into staging
14fa711 hybris: common: add simple macro to check for existing symbols
3cc98a6 [libhybris] Add cache for socket based property lookups.
7ab2d24 Allow setting/clearning the camera metering region
2e36fae hook: skip only symbol names prefixed with "pthread" or "__pthread"
931912b Merge remote-tracking branch 'morphis/review-fixes' into staging
5bd465b Merge remote-tracking branch 'remotes/vicamo/for-libhybris-maintainers/fix-wifi-h-not-found' into staging
65c8869 Merge remote-tracking branch 'remotes/vicamo/for-libhybris-maintainers/add-media-recorder-resume' into staging
309a1a5 Merge remote-tracking branch 'lp/pthread_kill' into staging
c6e6b9d Merge remote-tracking branch 'remotes/vicamo/for-libhybris-maintainers/hook-pthread_condattr_setclock' into staging
4a0f269 Merge remote-tracking branch 'morphis/fix-git-reference' into staging
17674e0 hook: add pthread_condattr_setclock
66da97a debian: correct vcs reference to point to launchpad
89bed78 debian: update changelog
06ecf1d Merge remote-tracking branch 'vicamo/for-libhybris-maintainers/fix-test_audio-for-android-5.x' into staging
69bfefe Merge remote-tracking branch 'vicamo/bug-1516902/add-pthread_mutex_timedlock' into staging
a52f471 Hook pthread_kill such that pthread_t values of 0 do not lead to segfaults.
c44f632 hooks: add pthread_mutex_timedlock
6bf99a7 debian: drop -dbg package as we generate them automatically
24f23a5 debian: drop files listed twice in .install files
35dc4b6 compat: media: implement android::IMediaRecorder::resume
ab6d22b compat: media: remove wrong BOARD_HAS_MEDIA_PLAYER_PAUSE guard
45857d6 debian: update changelog
3cc7ba1 hybris: common: add further debug statements for symbol hooking
42e27f9 hybris: common: hook missing pthread functions
4405a61 debian: enable mali quirks
04c1b6f hybris: common: hook localtime, gmtime and friends
31fb3fb hybris: add configuration option to enable mali related quirks
0c6c769 hybris: common: be more precise on prctl log messages
417861a hybris: common: add exit workaround for mali-hist-dump thread
e1329b4 hybris: common: also log name when prctl called with PR_SET_NAME
e1d645d hybris: common: also hook prctl to workaround mali-hist-dump
8792ddc hybris: common: add ugly workaround for malit-hist-dump thread
ea7f3aa hybris: common: dump mutex address
334b36c Hook getlogin, __sprintf_chk, __snprintf_chk
3466477 Merge remote-tracking branch 'morphis/abstract-media-api-differences'
37a37a0 compat: media: abstract differences in media API across multiple devices
87e3c5b debian: don't package NFC stuff anymore
9968e82 debian: update changelog for new release
8a63560 Merge remote-tracking branch 'chriscoulson/oxide-camera'
f36585e Address review comments
c09bf65 tests: fix test_audio compilation on Android 5 or above
b7bb247 Merge remote-tracking branch 'morphis/debug-package'
953c84a Merge remote-tracking branch 'morphis/always-define-nfc'
aaa7205 debian: add package with debug symbols
3e51715 wifi: fix hardware_legacy/wifi.h not found
aa4cce3 compat: camera: Indentation fix
9baee35 compat: camera: Support device enumeration and connecting to arbitrary devices
d09ac2d compat: camera: Allow applications to turn on preview callbacks
a8fa02c hybris/camera/camera.c: Add android_camera_set_preview_format
17d641c compat: camera: Fix a use-after-free when creating a new CameraControl after deleting an old one
6b4350c hybris: always define HAS_LIBNFC_NXP_HEADERS
2dacb0f Merge remote-tracking branch 'vicamo/for-morphis/add-libstagefright-to-include-path'
8f0e344 Merge remote-tracking branch 'morphis/wip'
1e444a1 Merge remote-tracking branch 'morphis/master'
351ed67 compat: media: fix build with avila
c587332 compat: media: add missing pause function for recorder
6773301 compat: media: force 32bit compilation
c0c7f50 compat: camera: Add support for Android 5.x
48bcba6 compat: media: Adding support for Android 5.x
4ef9fd1 compat: sf: Adding support for Android 5.x
267550b compat: input: adding support for Android 5.x
aa8b2a4 debian: correctly install libvibrator/libnfc
4cab9b5 Update changelog after merge
506d3f4 hybris: Don't hook __system_property_get twice
d38de08 Merge remote-tracking branch 'ycheng/ubuntu-rebase-ycwork'
59a3237 Merge upstream 0.1.0+git20151016+6d424c9
583f151 add libvibrator.so
da50dce add libvibrator.so
7b30b57 modifiy changelog
6f8d1fa fix build error: followed the file in commit dae292c
ecd4974 New upstream snapshot:
be976eb Adding packaging files
d5a7929 Adding dl_iterate_phdr for ARM (required by Android 5 binaries)
c7450a5 hooks.c: fixing typos in function calls
b3941d3 hooks: converting linear search into a binary search (LP: #1343198)
9f10859 wifi: Add support for android WiFi HAL
162d774 Enabling test_lights again (with fixes)
9d10516 test_audio.c: retry stream_out in case it fails in the first try
ce86f8d test_audio.c: improving test, creating both input and output streams
06e9dd0 tests/Makefile.am: adding test_audio back
ec62787 input: add method to check if compat side is available
16069e1 hardware.c: hw_get_module should return an error if module not found
cb1df33 common: also protecting the bionic system property calls
e3d6b4d Adding Android.common.mk to provide the android major, minor and patch version id
8ba6519 Ubuntu: allowing grouper to share the shm block between users for usc
3d9a45a hooks/shm: fixing logic with cond is negative (error)
553bf80 Ubuntu touch uses /dev/alog instead of /dev/log
18cec4b hybris/common/jb: Making libhybris buildable x86 64
810aab6 Edit mf_get_slice_height to return actual slice height.
66eb139 Expose the ability to query the supported flash modes
8f8c349 Thread-protect list output buffer infos list
adb3977 Added getter/setter for JPEG encoding quality.
0f0f196 hybris: Thread-protect release of media buffers
e15dd2d Improve client death notification registration and handler
0825772 Add direct_camera_test support for setting the thumbnail size.
3d2cef9 Add hybris API that allows retrieval of supported camera still image thumbnail sizes that qtubuntu-camera can take advantage of.
f50c0db Implement Observer interface for the MediaRecorder class
ce01c77 hybris: Add CSD to data for configuring codec
51634ea Moved audio record source files from libhybris source tree to frameworks/av/media/libmedia to fix compile issues on other architectures
2ab6719 * Notify qtubuntu-camera when to send data over a named pipe to the Android MediaRecorder * Reimplementing RecordThread, RecordHandle and RecordTrack from AF * Implement CameraRecordService which provides a way to init and start camera audio recording * Add android_recorder_set_audio_read_cb() to media.c * Do not open named piped non-blocking * Re-enable the clearing of the sync start event, which also resets mFramestoDrop * Re-enable the upmix/downmix to/from stereo/mono * Switch MIC_READ_BUF_SIZE to be 960 to agree with AudioFlinger working case * Audio recording is now working with this commit * Clean up the code to remove many unnecessary debug statements and unused code from original Android source * Clean up code more, removed commented out lines of code that will never be used, added some comments
e04de59 Adapt to refreshed stock BufferQueue API
6923221 Added metadata setter for GPS location.
65b1f0e Added function to retrieve list of supported camera's scene modes.
86f63a8 Added Camera's scene mode parameter value for HDR (android::CameraParameters::SCENE_MODE_HDR) existing since Android 4.2 (API level 17).
d80fd37 compat/camera: adding extras required by the mtk bsp
7ca3b81 include/Makefile.am: also installing media_recorder_layer.h
b8ba379 * Updated direct_camera_test that fixes snapshot testing. * Video recording is enabled, but it doesn't work correctly yet. * Added media_recorder_layer which adds a non-Binder wrapper around Stagefright recorder for camera recording. * Update direct_camera test * Add camera recording ability without the media.player Binder service (doesn't fully work yet) * Make sure the custom MediaRecorder and MediaRecorderClient classes get compiled * Create a new recording service binary that instantiates a MediaRecorderFactory instance and the CameraService. This binary lives in the lxc container. * internal_cast function for media_recording_layer.cpp is no longer used, removed it * Improved the Doxygen comments in media_recorder_layer.cpp * Improve/add Doxygen comments to class member functions * Cleaned up media_recorder_client to get rid of unused code * Updated the code file headers to include a Canonical copyright * Change to ALOGV for reporting the MediaRecorderFactory service being installed. * Build the recording_service binary * Rename recording_service.cpp to camera_service.cpp (more general name)
a98c0dc Make sure a client can render video if it connects to media-hub a second time.
55600cf Add media-hub support (out of process video decoding).
ffbe339 camera_compatibility_layer.cpp: in our case the texture is controlled by the app
53cfc6c media: fixing code for 4.4 and improving the release_output_buffer logic
34bb82b Making compat code compatible with Android 4.4
b0c934b Comment out use of removed setPreviewDisplay() for AOSP 4.3+ builds
9ee93e8 Conditionally build for different versions of Camera::connect() API calls
a251d31 compat/sf: adding missing surface.h
f9a0194 Don't crash when doing the software rendering case, which will have stch as a NULL pointer. Instead, just go straight to the software rendering else case.
c9e6431 Got rid of the Singleton SurfaceTextureClientHybris and instead only uses SurfaceTextureClientHybris instances from the heap. At this point, the hybris media layer no longer keeps any local state.
d460984 Reset the state of the static SurfaceTextureClientHybris instance when a MediaCodecDelegate instance is destroyed.
a86ad51 Properly shutdown and release the MediaCodec resources when destroying a MediaCodecDelegate instance.
e9094f5 hybris/media: adding missing surface_texture_client_hardware_rendering (removed during a rebase conflict)
a16acb4 media: improving code for video playback using gstreamer
84c2f71 Media Recorder: adding initial support for media recorder (cam)
8b84081 Media: adding initial compat files for media
13449d0 Edit mf_get_slice_height to return actual slice height.
1124586 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu39
dae292c Adding dl_iterate_phdr for ARM (required by Android 5 binaries)
0ecf8ff releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu38
a741e5d Revert "Switch to CLOCK_MONOTONIC_RAW instead of CLOCK_REALTIME"
4c526a4 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu37
a442ca5 add freeaddrinfo to the hooks, fix a missmatch between glibc's addrinfo and bionic's getaddrinfo
c2f38b5 hooks.c: fixing typos in function calls
4bf8af7 Switch to CLOCK_MONOTONIC_RAW instead of CLOCK_REALTIME
017175f dlsym the symbols in eglGetProcAddress from the glibc libraries
017dce9 Removed debug include and added comment
57f9172 New optimization via gnu dispatching
b704682 sysconf mapping
ebd2119 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu36
f37cd11 Expose the ability to query the supported flash modes
55c7186 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu35
100385c Merge branch 'master' of ssh://hesperidium.canonical.com/srv/phablet.ubuntu.com/git/ubuntu/libhybris
4c4d92b Merge branch 'master' of ssh://hesperidium.canonical.com/srv/phablet.ubuntu.com/git/ubuntu/libhybris
3c72bc1 wifi: add method to check if compat side is available.
dfa677d Thread-protect list output buffer infos list
241b379 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu34
d06d583 Added getter/setter for JPEG encoding quality.
f5a3264 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu33
262c779 Use PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP in dlfcn.c for bionic/linker/dlfcn.cpp use it and needed by certain android bsp. Also thanks to AlexTu on the way to find it.
c719d11 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu32
7123c0d hybris: Thread-protect release of media buffers
b2da9ab Merge branch 'master' of ssh://hesperidium.canonical.com/srv/phablet.ubuntu.com/git/ubuntu/libhybris
fd3ac4e Merge "Improve client death notification registration and handler"
f303486 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu31
73fcf51 Improve client death notification registration and handler
ca4114b releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu30
2bdda77 Merge branch 'master' of ssh://hesperidium.canonical.com/srv/phablet.ubuntu.com/git/ubuntu/libhybris
afaa3bb Merge "Add direct_camera_test support for setting the thumbnail size."
5f0e1a0 Improve client death notification registration and handler
6ba4c35 Add direct_camera_test support for setting the thumbnail size.
75f8f42 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu29
0b9338f Add hybris API that allows retrieval of supported camera still image thumbnail sizes that qtubuntu-camera can take advantage of.
fa9f1ef releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu28
1bb6a93 media/compat: Add CSD to data for configuring codec (LP: #1378397)
2114da7 Implement Observer interface for the MediaRecorder class
0321d54 hybris: Add CSD to data for configuring codec
de26055 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu27
124e639 debian/rules: using hardening=-stackprotectorstrong as that's not supported with gcc 4.7
60c61f8 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu26
512222e hooks: converting linear search into a binary search (LP: #1343198)
3cccbdd debian/control: fix typo in description (LP: #1259444)
a033280 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu25
be8af34 Adding support for the wifi HAL
be6a624 debian: Add wifi library
2f7a1b3 wifi: Add support for android WiFi HAL
0549303 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu24
e3012c2 Merge "Moved audio record source files from libhybris source tree to frameworks/av/media/libmedia to fix compile issues on other architectures"
ffcf03a Moved audio record source files from libhybris source tree to frameworks/av/media/libmedia to fix compile issues on other architectures
c443e7d releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu23
dd7bf98 compat/camera: export additional interface and logic for audio support when recording videos
222bdab releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu22
baf95c7 * Notify qtubuntu-camera when to send data over a named pipe to the Android MediaRecorder * Reimplementing RecordThread, RecordHandle and RecordTrack from AF * Implement CameraRecordService which provides a way to init and start camera audio recording * Add android_recorder_set_audio_read_cb() to media.c * Do not open named piped non-blocking * Re-enable the clearing of the sync start event, which also resets mFramestoDrop * Re-enable the upmix/downmix to/from stereo/mono * Switch MIC_READ_BUF_SIZE to be 960 to agree with AudioFlinger working case * Audio recording is now working with this commit * Clean up the code to remove many unnecessary debug statements and unused code from original Android source * Clean up code more, removed commented out lines of code that will never be used, added some comments
44910e9 Merge "Adapt to refreshed stock BufferQueue API"
f66e117 Adapt to refreshed stock BufferQueue API
c9f7615 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu21
d0755e1 compat/camera: adding metadata setter for GPS location
79b3ded Merge branch 'master' of ssh://hesperidium.canonical.com/srv/phablet.ubuntu.com/git/ubuntu/libhybris
ccc6cb5 Merge "Added metadata setter for GPS location."
13b1d15 Added metadata setter for GPS location.
4fc7115 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu20
3e23373 Added function to retrieve list of supported camera's scene modes.
c339727 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu19
47447a8 Added Camera's scene mode parameter value for HDR
17d8672 Added Camera's scene mode parameter value for HDR (android::CameraParameters::SCENE_MODE_HDR) existing since Android 4.2 (API level 17).
554e17e compat/camera: adding extras required by the mtk bsp
4c22aa9 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu18
0593ad4 debian/control: bumping standards-version to 3.9.5
66f38d8 compat: adding camera_service, also exporting the media_recorder functionality
3558343 include/Makefile.am: also installing media_recorder_layer.h
b177510 Merge "* Updated direct_camera_test that fixes snapshot testing. * Video recording is enabled, but it doesn't work correctly yet. * Added media_recorder_layer which adds a non-Binder wrapper around Stagefright recorder for camera recording. * Update direct_camera test * Add camera recording ability without the media.player Binder service (doesn't fully work yet) * Make sure the custom MediaRecorder and MediaRecorderClient classes get compiled * Create a new recording service binary that instantiates a MediaRecorderFactory instance and the CameraService. This binary lives in the lxc container. * internal_cast function for media_recording_layer.cpp is no longer used, removed it * Improved the Doxygen comments in media_recorder_layer.cpp * Improve/add Doxygen comments to class member functions * Cleaned up media_recorder_client to get rid of unused code * Updated the code file headers to include a Canonical copyright * Change to ALOGV for reporting the MediaRecorderFactory service being installed. * Build the recording_service binary * Rename recording_service.cpp to camera_service.cpp (more general name)"
73dc4aa * Updated direct_camera_test that fixes snapshot testing. * Video recording is enabled, but it doesn't work correctly yet. * Added media_recorder_layer which adds a non-Binder wrapper around Stagefright recorder for camera recording. * Update direct_camera test * Add camera recording ability without the media.player Binder service (doesn't fully work yet) * Make sure the custom MediaRecorder and MediaRecorderClient classes get compiled * Create a new recording service binary that instantiates a MediaRecorderFactory instance and the CameraService. This binary lives in the lxc container. * internal_cast function for media_recording_layer.cpp is no longer used, removed it * Improved the Doxygen comments in media_recorder_layer.cpp * Improve/add Doxygen comments to class member functions * Cleaned up media_recorder_client to get rid of unused code * Updated the code file headers to include a Canonical copyright * Change to ALOGV for reporting the MediaRecorderFactory service being installed. * Build the recording_service binary * Rename recording_service.cpp to camera_service.cpp (more general name)
80bc7a1 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu17
9772b39 Enabling test_lights again (with fixes)
ff917a1 test_audio.c: retry stream_out in case it fails in the first try
b28d5d9 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu16
65624d1 test_audio.c: improving test, creating both input and output streams
2ed27be test_audio.c: improving test, creating both input and output streams
786bf62 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu15
d8f81b1 tests/Makefile.am: adding test_audio back
77af9fe tests/Makefile.am: adding test_audio back
b6e7a5a releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu14
eeef571 Make sure a client can render video if it connects to media-hub a second time.
153cea9 Merge "Add media-hub support (out of process video decoding)."
6b6aabf Add media-hub support (out of process video decoding).
eaba4e8 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu12
fa99f9a input: add method to check if compat side is available
81e1f95 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu11
1bef615 hardware.c: hw_get_module should return an error if module not found
0d70cc5 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu10
4ebed59 Turn on wayland support to provide libwayland-egl and fixing default alternatives priority.
f3dba8f releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu9
a52ba0b camera_compatibility_layer.cpp: in our case the texture is controlled by the app (avoid locks in gl consumer) LP: #1282701
8d8a453 camera_compatibility_layer.cpp: in our case the texture is controlled by the app
74a2c00 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu8
2443fed common: also protecting the bionic system property calls
85175b6 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu7
93dcf9a media: fixing code for 4.4 and improving the release_output_buffer logic
1e85fca releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu6
ff1b97d Making compat code compatible with Android 4.4.2
0e6d6b5 Making compat code compatible with Android 4.4
19021e4 Comment out use of removed setPreviewDisplay() for AOSP 4.3+ builds
891fc73 Conditionally build for different versions of Camera::connect() API calls
b5baf15 compat/sf: adding missing surface.h
652ece7 Adding Android.common.mk to provide the android major, minor and patch version id
3edb15b releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu5
fdce96e Allowing grouper to share the shm block between users for usc
d983f52 Ubuntu: allowing grouper to share the shm block between users for usc
0cfab8c releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu4
c694ffc releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu3
3fb924e compat/media, hybris/media: removing singleton and simplifying the code now that most of the sync logic is happening in gstreamer
43893c6 Don't crash when doing the software rendering case, which will have stch as a NULL pointer. Instead, just go straight to the software rendering else case.
a1b0791 Got rid of the Singleton SurfaceTextureClientHybris and instead only uses SurfaceTextureClientHybris instances from the heap. At this point, the hybris media layer no longer keeps any local state.
654aa2c Reset the state of the static SurfaceTextureClientHybris instance when a MediaCodecDelegate instance is destroyed.
20f3ab0 Properly shutdown and release the MediaCodec resources when destroying a MediaCodecDelegate instance.
fdc56ef releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu2
ad55eab hybris/media: adding missing surface_texture_client_hardware_rendering function in surface_texture_client_hybris.h, that got removed during a rebase conflict.
e3c33b2 hybris/media: adding missing surface_texture_client_hardware_rendering (removed during a rebase conflict)
a8a3542 releasing package libhybris version 0.1.0+git20131207+e452e83-0ubuntu1
08810dd media: improving code for video playback using gstreamer
f807970 Media Recorder: adding initial support for media recorder (cam)
276d7da Media: adding initial compat files for media
6dc3b8f hooks/shm: fixing logic with cond is negative (error)
c4c09bc jb/linker.c: ubuntu touch uses /dev/alog instead of /dev/log
f209be7 hybris/common/jb: Making libhybris buildable x86 64
9a83d34 Adding packaging files
REVERT: 8251486 Merge pull request #27 from ghosalmartin/mm64-upstream
REVERT: 8620c5d Update test_hwcomposer to support hwcomposer 1.3, 1.4 and 1.5
REVERT: 3a9742f hybris: functions which contain pthread but are not pthread functions should not be hooked to negative numbers if no hook exists
REVERT: aa12639 hybris: fix mismatch between bionic fpos_t size and glibc fpos_t in bionic_file struct
REVERT: d300eaf hooks: fix bionic FILE struct size on arm64
REVERT: 393c63a hooks: fix arm64 shared pthread ptr implementation
REVERT: 831399f Hook pthread_kill such that pthread_t values of 0 do not lead to segfaults.
REVERT: ad0447c hook: add pthread_condattr_setclock
REVERT: bf54ec0 hooks: add pthread_mutex_timedlock
REVERT: 062e6c6 hybris: common: hook missing pthread functions
REVERT: d585ba2 hybris: hook __progname to program_invocation_name
REVERT: 346e592 hybris: fix pthread_getspecific: don't return a value for an uninitialized key
REVERT: ad25390 [mm] build the mm linker with libhybris changes
REVERT: 563cf04 [mm] add the strlcat.c file
REVERT: c622a5c [mm] add the assert.cpp file
REVERT: 576cdf3 [mm] add the libc_logging.cpp file
REVERT: 281b75b [mm] add the libc_events.h and libc_logging.h header files from bionic libc
REVERT: 63eee39 [mm] temporarily rename dlfcn.cpp to linker_dlfcn.cpp, to avoid issues with automake based build
REVERT: d1def28 [mm] copy and paste the marshmallow linker
REVERT: e0d4381 [glesv1] let the linker decide the location of libGLESv1_CM.so
REVERT: d9e8a16 [hooks] open is hooked -> hook close?

git-subtree-dir: libhybris
git-subtree-split: 240ae56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment