This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GSM Audio Pocket Knife".
The branch, fixeria/lib has been updated
discards 293384fd1b3d6c681d7f4862f98eb52977551e00 (commit)
discards aedbe9ad7a352b3fdd846aa6093b5cde29b0749b (commit)
discards d25004a98122d84039b8ce20932729189c8ae171 (commit)
discards 5f332917e1ce8fcaa67a8406e69df9a1e01b2b67 (commit)
discards 7d411284afeb9489a3fe0126396f094ad305c0f5 (commit)
discards 2b02f8ec27a15302f744bee4a3a0502233ff5e2e (commit)
discards f5d00d8516ba589ab4bf289f04e8685031bf5031 (commit)
discards aad0a4d3cb62da0714f7bd895dd637e34f067a09 (commit)
discards 67478b31790a5bde09e98247539df28e416fa875 (commit)
discards 7aaf2a49b44af4fba743486a30110d292836b3b8 (commit)
discards ce3aa9eec21eeb4b68caa31aac1a8936e33302bb (commit)
discards fe5c7d915ce3b7c5a913694d8e6305e43ab4c16e (commit)
discards f93b65356dc6d33e8e4611d0a0acb587a1439909 (commit)
via 27cc5fbbcb2b5649c9bca452e8a00335d9a278a7 (commit)
via 01edb56d7bb082ecc187254c2f0a54178dd9ff3f (commit)
via 8923276018b9a8d5ebafa2e18676fe6b8cef26a4 (commit)
via 3e8cfdea6a2e1da03b6601c96b87d2a5683c73c6 (commit)
via 0d177795d1ffe70d926281034116d73199265202 (commit)
via 3d5a901ffe24ab38a2050afca7a146d840a1f303 (commit)
via caeee8214084f8949e855780ce1cbfd42a514e78 (commit)
via 1e220b9f3c2a0d9a1a6ea39d0972a207a51168bd (commit)
via d02ada5c46a8938f5d9fd09e255dc6501937785d (commit)
via d8bdf47aaffb768c26b89511d1af7bce616543d2 (commit)
via 6e0fe0e103612e01817dba857f5077adeb87ea84 (commit)
via a3b4fb8be1bb9316443dedab0dcf9079328f13a6 (commit)
via cd2da365a81999db5a092b6bfb984d57b471883e (commit)
via 903f14cdf48faa61996b22b68361c511c920b3b9 (commit)
via 0d97f46b8757e0947304d88777706bd9a98a4c69 (commit)
via 6683ef0a17dda6eb50aaeede8805936c751ec4a5 (commit)
via f72d01558f16717d49380428310d1a269f8540c6 (commit)
via ea53827e34b3d223c053289f7ef39f3105712a18 (commit)
via 36e92c49c510711bd7e88beb2935a2a298def9fe (commit)
via 43f74129c6ed128de8235aed1ce7d0f285193206 (commit)
via f4650d455bde1cd7a489123db3ebfbf2dc860b8e (commit)
via 6028be8e8655d8eabc1929ff0753114814f5dacd (commit)
via 4922c8376713196d909cb7b6d204cb10664116c2 (commit)
via 617daf02012a4e4d1a104d52f2517ad81b72dd54 (commit)
via e7959b00f6f21f371b24cd1960b36aacd34bdeb7 (commit)
via e6986f70c5f609692c7067a758233e2d8327de6b (commit)
via a03ac4573a2c00a6b2937c42503b6c7206480662 (commit)
via 5fb1965cacb7a3aaf269dbb8e0238721a7d44c05 (commit)
via d5cfaa6a52d09551661f2cc8ef7ffc24f809960a (commit)
via 83aa99e7a9a1ff0d6949b4c71cd8817e2668b341 (commit)
This update added new revisions after undoing existing revisions. That is
to say, the old revision is not a strict subset of the new revision. This
situation occurs when you --force push a change and generate a repository
containing something like this:
* -- * -- B -- O -- O -- O (293384fd1b3d6c681d7f4862f98eb52977551e00)
\
N -- N -- N (27cc5fbbcb2b5649c9bca452e8a00335d9a278a7)
When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cgit.osmocom.org/gapk/commit/?id=27cc5fbbcb2b5649c9bca452e8a00335d9a…
commit 27cc5fbbcb2b5649c9bca452e8a00335d9a278a7
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Fri Sep 8 00:05:02 2017 +0300
osmo-gapk: wait until sink finish processing
Previously the osmo-gapk application used to exit as soon as all
the frames are processed, no matter has the sink finished its
internal processing (e.g. ALSA playback).
http://cgit.osmocom.org/gapk/commit/?id=01edb56d7bb082ecc187254c2f0a54178dd…
commit 01edb56d7bb082ecc187254c2f0a54178dd9ff3f
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Fri Sep 8 00:02:20 2017 +0300
src/pq_alsa.c: implement processing state callback
Using the snd_pcm_avail_update() call from ALSA API it's possible
to know, how much samples are still to be processed.
http://cgit.osmocom.org/gapk/commit/?id=8923276018b9a8d5ebafa2e18676fe6b8ce…
commit 8923276018b9a8d5ebafa2e18676fe6b8cef26a4
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Thu Sep 7 18:42:49 2017 +0300
procqueue: add processing state callback
In some cases it's required to wait for some queue items
to finish processing. For example, the ALSA sink writes the
audio samples to the buffer in non-blocking mode, so as soon
as all of them will be written, a program may finish execution,
causing the playback abort.
To prevent that, this change extends the library's API, allowing
each queue item to have a processing state callback that returns
a positive integer if processing is not finished yet,
and 0 otherwise.
http://cgit.osmocom.org/gapk/commit/?id=3e8cfdea6a2e1da03b6601c96b87d2a5683…
commit 3e8cfdea6a2e1da03b6601c96b87d2a5683c73c6
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Thu Sep 7 17:51:35 2017 +0300
osmo-gapk: abort the processing queue on SIGINT
Instead of immediately shutting down the application, it is
better to try to break the processing queue first, and stop
the execution immediately if second SIGINT is received.
http://cgit.osmocom.org/gapk/commit/?id=0d177795d1ffe70d926281034116d731992…
commit 0d177795d1ffe70d926281034116d73199265202
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Thu Sep 7 17:39:24 2017 +0300
osmo-gapk: adjust application verbosity
This change allows user to enable advanced verbosity using the
'-v' command line option, which is disabled by default.
http://cgit.osmocom.org/gapk/commit/?id=3d5a901ffe24ab38a2050afca7a146d840a…
commit 3d5a901ffe24ab38a2050afca7a146d840a1f303
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Thu Sep 7 17:10:14 2017 +0300
osmo-gapk: use Osmocom logging framework
http://cgit.osmocom.org/gapk/commit/?id=caeee8214084f8949e855780ce1cbfd42a5…
commit caeee8214084f8949e855780ce1cbfd42a514e78
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Thu Sep 7 16:48:27 2017 +0300
osmo-gapk: drop useless printf calls
The printf() writes the text into stdout, which may be undesirable
in some use cases. Moreover, the printed information was redundant.
So, let's drop such calls.
http://cgit.osmocom.org/gapk/commit/?id=1e220b9f3c2a0d9a1a6ea39d0972a207a51…
commit 1e220b9f3c2a0d9a1a6ea39d0972a207a51168bd
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Thu Sep 7 16:36:56 2017 +0300
libosmogapk: use Osmocom logging framework
Since this change, the libosmogapk uses the Osmocom logging
framework. By default, logging is disabled and could be enabled
by the external applications calling the osmo_gapk_log_init()
with a desired log target as an argument.
http://cgit.osmocom.org/gapk/commit/?id=d02ada5c46a8938f5d9fd09e255dc650193…
commit d02ada5c46a8938f5d9fd09e255dc6501937785d
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Thu Sep 7 00:04:01 2017 +0300
osmo-gapk: use more convenient name for the source file
Since GAPK package contains a library and the representative
osmo-gapk application, the 'main.c' looks a bit confusing. Let's
use the common naming scheme.
http://cgit.osmocom.org/gapk/commit/?id=d8bdf47aaffb768c26b89511d1af7bce616…
commit d8bdf47aaffb768c26b89511d1af7bce616543d2
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Wed Sep 6 23:53:30 2017 +0300
osmo-gapk: create a common shutdown function
Previously the code intended to shutdown the osmo-gapk application
was repeated two times. It's better to have a single function.
http://cgit.osmocom.org/gapk/commit/?id=6e0fe0e103612e01817dba857f5077adeb8…
commit 6e0fe0e103612e01817dba857f5077adeb87ea84
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Wed Sep 6 23:42:19 2017 +0300
osmo-gapk: add an option to enable / disable benchmark
If the codec benchmarking is required in particular case, it
could be activated by a special command line option introduced
by this change.
http://cgit.osmocom.org/gapk/commit/?id=a3b4fb8be1bb9316443dedab0dcf9079328…
commit a3b4fb8be1bb9316443dedab0dcf9079328f13a6
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Fri Sep 1 16:19:40 2017 +0700
procqueue: use linuxlist to store queue items
The usage of linuxlist is more flexible than having a limited
array of pointers. This approach allows to have as much items
in a processing queue as required.
http://cgit.osmocom.org/gapk/commit/?id=cd2da365a81999db5a092b6bfb984d57b47…
commit cd2da365a81999db5a092b6bfb984d57b471883e
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Fri Sep 1 15:22:32 2017 +0700
procqueue: use uint8_t as output buffer type
http://cgit.osmocom.org/gapk/commit/?id=903f14cdf48faa61996b22b68361c511c92…
commit 903f14cdf48faa61996b22b68361c511c920b3b9
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Fri Sep 1 15:15:45 2017 +0700
procqueue: store output buffers inside queue items
An output buffer belongs to its queue item, so it will be more
correctly to store its pointer inside the osmo_gapk_pq_item.
http://cgit.osmocom.org/gapk/commit/?id=0d97f46b8757e0947304d88777706bd9a98…
commit 0d97f46b8757e0947304d88777706bd9a98a4c69
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Fri Sep 1 14:33:19 2017 +0700
procqueue: use unsigned int for I/O frame size fields
A frame size cannot be negative, so 'unsigned' is more
suitable for frame size fields.
http://cgit.osmocom.org/gapk/commit/?id=6683ef0a17dda6eb50aaeede8805936c751…
commit 6683ef0a17dda6eb50aaeede8805936c751ec4a5
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Thu Aug 31 17:49:36 2017 +0700
Add the symbol export map for libosmogapk
http://cgit.osmocom.org/gapk/commit/?id=f72d01558f16717d49380428310d1a269f8…
commit f72d01558f16717d49380428310d1a269f8540c6
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Mon Sep 4 04:18:06 2017 +0700
benchmark: add functions to get cycle and frame count
To simplify the benchrarking process via the library API, this
change introduces two new functions, which are intended to
provide total cycle and frame count.
http://cgit.osmocom.org/gapk/commit/?id=ea53827e34b3d223c053289f7ef39f31057…
commit ea53827e34b3d223c053289f7ef39f3105712a18
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Mon Sep 4 03:33:48 2017 +0700
benchmark: allocate memory dynamically
Having statically allocated memory for benchmark data of every
codec causes high memory usage, especially if actual benchmarking
is not required for a particular use case. Instead of that, let's
provide an optional opportunity to enable benchmarking for a
particular codec by calling the osmo_gapk_bench_enable(). The
required amount of memory would be allocated, and then can be
freed by calling the osmo_gapk_bench_free() or manually.
http://cgit.osmocom.org/gapk/commit/?id=36e92c49c510711bd7e88beb2935a2a298d…
commit 36e92c49c510711bd7e88beb2935a2a298def9fe
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Mon Sep 4 03:03:32 2017 +0700
benchmark: get rid of 'static inline' definition
The usage of a 'static inline' function definition in the 'bench.h'
is resulting in separate independent function definitions in each
translation unit from which the header is included. This is
increasing the size of compiled code unnecessarily.
http://cgit.osmocom.org/gapk/commit/?id=43f74129c6ed128de8235aed1ce7d0f2851…
commit 43f74129c6ed128de8235aed1ce7d0f285193206
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Mon Sep 4 02:23:18 2017 +0700
benchmark: move benchmark impl to a private header
There is no need to expose the implementation details of both
BENCHMARK_START and BENCHMARK_STOP macros via public header.
This change moves them to a separate private header 'bench.h'.
http://cgit.osmocom.org/gapk/commit/?id=f4650d455bde1cd7a489123db3ebfbf2dc8…
commit f4650d455bde1cd7a489123db3ebfbf2dc860b8e
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Mon Sep 4 00:42:38 2017 +0700
benchmark: move benchmark_dump() outside the library
The benchmark_dump() is only used by the osmo-gapk binary, and
is intended to prepare and print benchmarking results to stderr,
what is most likely unusable for the library users.
http://cgit.osmocom.org/gapk/commit/?id=6028be8e8655d8eabc1929ff0753114814f…
commit 6028be8e8655d8eabc1929ff0753114814f5dacd
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Thu Aug 31 17:22:56 2017 +0700
Add an 'osmo_gapk' prefix to the exposed symbols
To avoid a naming conflict between libosmogapk and other projects
during linkage, all the exposed symbols should have an unique
prefix. Let's use 'osmo_gapk' for that.
http://cgit.osmocom.org/gapk/commit/?id=4922c8376713196d909cb7b6d204cb10664…
commit 4922c8376713196d909cb7b6d204cb10664116c2
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Thu Aug 31 02:31:18 2017 +0700
procqueue: expose the processing queue struct definition
To be able to use processing queues from outside, the pq struct
should be shared in the corresponding header file.
http://cgit.osmocom.org/gapk/commit/?id=617daf02012a4e4d1a104d52f2517ad81b7…
commit 617daf02012a4e4d1a104d52f2517ad81b72dd54
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Thu Aug 31 01:41:26 2017 +0700
Add a pkg-config manifest for libosmogapk
In order to make pkg-config 'see' the libosmogapk, a corresponding
package description is required. For more details, see:
https://autotools.io/pkgconfig/file-format.html
http://cgit.osmocom.org/gapk/commit/?id=e7959b00f6f21f371b24cd1960b36aacd34…
commit e7959b00f6f21f371b24cd1960b36aacd34bdeb7
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Thu Aug 31 01:20:18 2017 +0700
Use '#pragma once' instead of include guard
The most compilers today do support the '#pragma once', which is
designed to cause the current source file to be included only once
in a single compilation. One has several advantages, including:
less code, avoidance of name clashes, and sometimes improvement
in compilation speed.
See:
https://en.wikipedia.org/wiki/Pragma_once for details.
http://cgit.osmocom.org/gapk/commit/?id=e6986f70c5f609692c7067a758233e2d832…
commit e6986f70c5f609692c7067a758233e2d8327de6b
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Wed Aug 30 20:26:02 2017 +0700
Install GAPK headers to '${includedir}/osmocom/gapk/'
To be able to use the library, external applications need to know,
which symbols are exposed. This information is provided by header
files, which are being installed to a system's ${includedir}
since this change.
http://cgit.osmocom.org/gapk/commit/?id=a03ac4573a2c00a6b2937c42503b6c72064…
commit a03ac4573a2c00a6b2937c42503b6c7206480662
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Wed Aug 30 19:35:51 2017 +0700
Add an 'osmo' prefix to the 'gapk' binary
This is a common practice of all Osmocom executables
to have an 'osmo' prefix. Let's follow this here too.
http://cgit.osmocom.org/gapk/commit/?id=5fb1965cacb7a3aaf269dbb8e0238721a7d…
commit 5fb1965cacb7a3aaf269dbb8e0238721a7d44c05
Author: Vadim Yanitskiy <axilirator(a)gmail.com>
Date: Wed Aug 30 19:03:49 2017 +0700
Introduce a shared 'libosmogapk' library
The previous GAPK implementation was represented as a single
executable. So, all audio transcoding operations were available
only by calling the 'gapk' binary. This approach didn't allow
external applications to benefit from using GAPK API directly.
Since there are some projects (such as GR-GSM and OsmocomBB),
which are potential users of GAPK code base, it would be better
to have all transcoding functions within a shared library.
So, this change separates the common code into a shared library,
named 'libosmogapk', and links the 'gapk' binary against one.
Currently there are no shared headers, pkg-config manifest and
the export map, but they will be done latter.
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 2 +-
include/Makefile.am | 7 +-
src/benchmark.c => include/osmocom/gapk/bench.h | 66 +++----
include/osmocom/gapk/benchmark.h | 38 ++--
include/osmocom/gapk/codecs.h | 7 -
src/codec_pcm.c => include/osmocom/gapk/common.h | 12 +-
include/osmocom/gapk/formats.h | 18 --
src/codec_pcm.c => include/osmocom/gapk/logging.h | 19 +-
include/osmocom/gapk/procqueue.h | 1 +
src/Makefile.am | 13 +-
src/{main.c => app_osmo_gapk.c} | 219 +++++++++++++++++-----
src/benchmark.c | 87 ++++++---
src/codec_amr.c | 3 +-
src/codec_efr.c | 3 +-
src/codec_fr.c | 3 +-
src/codec_hr.c | 3 +-
src/codec_pcm.c | 2 +-
src/codecs.c | 18 +-
src/fmt_amr.c | 2 +-
src/fmt_amr_opencore.c | 2 +-
src/fmt_gsm.c | 2 +-
src/fmt_hr_ref.c | 4 +-
src/fmt_racal.c | 6 +-
src/fmt_rawpcm.c | 2 +-
src/fmt_rtp_amr.c | 2 +-
src/fmt_rtp_efr.c | 2 +-
src/fmt_rtp_hr_etsi.c | 2 +-
src/fmt_rtp_hr_ietf.c | 2 +-
src/fmt_ti.c | 6 +-
src/formats.c | 50 +++--
src/libosmogapk.map | 32 +---
src/{codec_pcm.c => logging.c} | 18 +-
src/pq_alsa.c | 35 +++-
src/pq_codec.c | 4 +-
src/pq_file.c | 6 +-
src/pq_format.c | 13 +-
src/pq_rtp.c | 9 +-
src/procqueue.c | 7 +-
38 files changed, 447 insertions(+), 280 deletions(-)
copy src/benchmark.c => include/osmocom/gapk/bench.h (50%)
copy src/codec_pcm.c => include/osmocom/gapk/common.h (71%)
copy src/codec_pcm.c => include/osmocom/gapk/logging.h (72%)
rename src/{main.c => app_osmo_gapk.c} (69%)
copy src/{codec_pcm.c => logging.c} (71%)
hooks/post-receive
--
GSM Audio Pocket Knife