gapk.git branch fixeria/lib updated. v0.4-31-g27cc5fb

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-commitlog@lists.osmocom.org/.

gitosis at osmocom.org gitosis at osmocom.org
Thu Sep 7 21:15:54 UTC 2017


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=27cc5fbbcb2b5649c9bca452e8a00335d9a278a7

commit 27cc5fbbcb2b5649c9bca452e8a00335d9a278a7
Author: Vadim Yanitskiy <axilirator at 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=01edb56d7bb082ecc187254c2f0a54178dd9ff3f

commit 01edb56d7bb082ecc187254c2f0a54178dd9ff3f
Author: Vadim Yanitskiy <axilirator at 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=8923276018b9a8d5ebafa2e18676fe6b8cef26a4

commit 8923276018b9a8d5ebafa2e18676fe6b8cef26a4
Author: Vadim Yanitskiy <axilirator at 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=3e8cfdea6a2e1da03b6601c96b87d2a5683c73c6

commit 3e8cfdea6a2e1da03b6601c96b87d2a5683c73c6
Author: Vadim Yanitskiy <axilirator at 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=0d177795d1ffe70d926281034116d73199265202

commit 0d177795d1ffe70d926281034116d73199265202
Author: Vadim Yanitskiy <axilirator at 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=3d5a901ffe24ab38a2050afca7a146d840a1f303

commit 3d5a901ffe24ab38a2050afca7a146d840a1f303
Author: Vadim Yanitskiy <axilirator at gmail.com>
Date:   Thu Sep 7 17:10:14 2017 +0300

    osmo-gapk: use Osmocom logging framework

http://cgit.osmocom.org/gapk/commit/?id=caeee8214084f8949e855780ce1cbfd42a514e78

commit caeee8214084f8949e855780ce1cbfd42a514e78
Author: Vadim Yanitskiy <axilirator at 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=1e220b9f3c2a0d9a1a6ea39d0972a207a51168bd

commit 1e220b9f3c2a0d9a1a6ea39d0972a207a51168bd
Author: Vadim Yanitskiy <axilirator at 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=d02ada5c46a8938f5d9fd09e255dc6501937785d

commit d02ada5c46a8938f5d9fd09e255dc6501937785d
Author: Vadim Yanitskiy <axilirator at 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=d8bdf47aaffb768c26b89511d1af7bce616543d2

commit d8bdf47aaffb768c26b89511d1af7bce616543d2
Author: Vadim Yanitskiy <axilirator at 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=6e0fe0e103612e01817dba857f5077adeb87ea84

commit 6e0fe0e103612e01817dba857f5077adeb87ea84
Author: Vadim Yanitskiy <axilirator at 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=a3b4fb8be1bb9316443dedab0dcf9079328f13a6

commit a3b4fb8be1bb9316443dedab0dcf9079328f13a6
Author: Vadim Yanitskiy <axilirator at 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=cd2da365a81999db5a092b6bfb984d57b471883e

commit cd2da365a81999db5a092b6bfb984d57b471883e
Author: Vadim Yanitskiy <axilirator at 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=903f14cdf48faa61996b22b68361c511c920b3b9

commit 903f14cdf48faa61996b22b68361c511c920b3b9
Author: Vadim Yanitskiy <axilirator at 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=0d97f46b8757e0947304d88777706bd9a98a4c69

commit 0d97f46b8757e0947304d88777706bd9a98a4c69
Author: Vadim Yanitskiy <axilirator at 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=6683ef0a17dda6eb50aaeede8805936c751ec4a5

commit 6683ef0a17dda6eb50aaeede8805936c751ec4a5
Author: Vadim Yanitskiy <axilirator at 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=f72d01558f16717d49380428310d1a269f8540c6

commit f72d01558f16717d49380428310d1a269f8540c6
Author: Vadim Yanitskiy <axilirator at 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=ea53827e34b3d223c053289f7ef39f3105712a18

commit ea53827e34b3d223c053289f7ef39f3105712a18
Author: Vadim Yanitskiy <axilirator at 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=36e92c49c510711bd7e88beb2935a2a298def9fe

commit 36e92c49c510711bd7e88beb2935a2a298def9fe
Author: Vadim Yanitskiy <axilirator at 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=43f74129c6ed128de8235aed1ce7d0f285193206

commit 43f74129c6ed128de8235aed1ce7d0f285193206
Author: Vadim Yanitskiy <axilirator at 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=f4650d455bde1cd7a489123db3ebfbf2dc860b8e

commit f4650d455bde1cd7a489123db3ebfbf2dc860b8e
Author: Vadim Yanitskiy <axilirator at 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=6028be8e8655d8eabc1929ff0753114814f5dacd

commit 6028be8e8655d8eabc1929ff0753114814f5dacd
Author: Vadim Yanitskiy <axilirator at 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=4922c8376713196d909cb7b6d204cb10664116c2

commit 4922c8376713196d909cb7b6d204cb10664116c2
Author: Vadim Yanitskiy <axilirator at 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=617daf02012a4e4d1a104d52f2517ad81b72dd54

commit 617daf02012a4e4d1a104d52f2517ad81b72dd54
Author: Vadim Yanitskiy <axilirator at 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=e7959b00f6f21f371b24cd1960b36aacd34bdeb7

commit e7959b00f6f21f371b24cd1960b36aacd34bdeb7
Author: Vadim Yanitskiy <axilirator at 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=e6986f70c5f609692c7067a758233e2d8327de6b

commit e6986f70c5f609692c7067a758233e2d8327de6b
Author: Vadim Yanitskiy <axilirator at 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=a03ac4573a2c00a6b2937c42503b6c7206480662

commit a03ac4573a2c00a6b2937c42503b6c7206480662
Author: Vadim Yanitskiy <axilirator at 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=5fb1965cacb7a3aaf269dbb8e0238721a7d44c05

commit 5fb1965cacb7a3aaf269dbb8e0238721a7d44c05
Author: Vadim Yanitskiy <axilirator at 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



More information about the osmocom-commitlog mailing list