Skip to content
This repository has been archived by the owner on Feb 16, 2023. It is now read-only.

Commit

Permalink
release v2.8.0 (#93)
Browse files Browse the repository at this point in the history
* cmake: bump min. version 3.10 (#79)

* auframe: auframe_bytes_to_timestamp use uint64_t

The correct type for timestamp is `uint64_t`.

* ci: migrate from make to CMake (#81)

* cmake: install improvements (#83)

* cmake: add static and shared targets (#84)

* cmake: add win32 linklibs (#85)

* update copyright/license

* debian: use dh-cmake (#86)

* debian: release build

* vid/frame: fix possbile overflow multiplication (#87)

Found by CodeQL: Multiplication result may overflow 'unsigned int'
before it is converted to 'size_t'.

* cmake: add pkgconfig (fixes #90) (#91)

* cmake/pkgconfig: fix name

* cmake: fix shared API soversion (aligned with make) (#89)

* release v2.8.0 (#92)

Co-authored-by: Sebastian Reimers <hallo@studio-link.de>
Co-authored-by: Alfred E. Heggestad <alfred.heggestad@gmail.com>
Co-authored-by: Robert Scheck <robert-scheck@users.noreply.github.com>
  • Loading branch information
4 people authored Oct 1, 2022
1 parent 3665b16 commit e9a4aa8
Show file tree
Hide file tree
Showing 24 changed files with 226 additions and 192 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
matrix:
compiler: [gcc, clang]
os: [ubuntu-18.04, ubuntu-20.04, macos-latest]
os: [ubuntu-20.04, macos-latest]
exclude:
- os: macos-latest
compiler: gcc
Expand Down Expand Up @@ -42,5 +42,5 @@ jobs:
run: |
cd ..
make -C re libre.a
make -C rem EXTRA_CFLAGS=-Werror CCACHE= librem.a
cd retest && make STATIC=1 LIBRE_SO=../re && ./retest -r
cmake -S rem -B rem/build && cmake --build rem/build
cd retest && cmake . && make && ./retest -r
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


## [v2.8.0] - 2022-10-01

* cmake: bump min. version 3.10 by @sreimers in https://github.com/baresip/rem/pull/79
* auframe: auframe\_bytes\_to\_timestamp use uint64\_t by @cspiel1 in https://github.com/baresip/rem/pull/80
* ci: migrate from make to CMake by @alfredh in https://github.com/baresip/rem/pull/81
* cmake: install improvements by @sreimers in https://github.com/baresip/rem/pull/83
* cmake: add static and shared targets by @sreimers in https://github.com/baresip/rem/pull/84
* cmake: add win32 linklibs by @sreimers in https://github.com/baresip/rem/pull/85
* debian: use dh-cmake by @sreimers in https://github.com/baresip/rem/pull/86
* vid/frame: fix possbile overflow multiplication by @sreimers in https://github.com/baresip/rem/pull/87
* cmake: add pkgconfig (fixes #90) by @robert-scheck in https://github.com/baresip/rem/pull/91
* cmake: fix shared API soversion (aligned with make) by @robert-scheck in https://github.com/baresip/rem/pull/89

**Full Changelog**: https://github.com/baresip/rem/compare/v2.7.0...v2.8.0

---

## [v2.7.0] - 2022-09-01

* cmake: add FindRE and use re-config.cmake for definitions by @sreimers in https://github.com/baresip/rem/pull/76
Expand Down
114 changes: 101 additions & 13 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,14 @@
# Versioning
#

cmake_minimum_required(VERSION 3.7)
cmake_minimum_required(VERSION 3.10)

project(rem VERSION 2.7.0 LANGUAGES C)
project(rem
VERSION 2.8.0
LANGUAGES C
HOMEPAGE_URL https://github.com/baresip/rem
DESCRIPTION "Audio and video processing media library"
)

set(PROJECT_SOVERSION 3) # bump if ABI breaks

Expand All @@ -21,6 +26,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
#
# Module Includes
#
include(GNUInstallDirs)
include(CheckIncludeFile)

find_package(RE REQUIRED)
Expand Down Expand Up @@ -113,22 +119,104 @@ set(HEADERS
include/rem_vidmix.h
)

add_library(${PROJECT_NAME}
${SRCS}
${HEADERS}
)
##############################################################################
#
# Linking LIBS
#

set(LINKLIBS ${RE_LIBRARIES} Threads::Threads)

if(WIN32)
list(APPEND LINKLIBS qwave iphlpapi wsock32 ws2_32)
else()
list(APPEND LINKLIBS -lm)
endif()


##############################################################################
#
# Main target object
#

target_link_libraries(${PROJECT_NAME} ${RE_LIBRARIES} -lpthread -lm)
target_compile_definitions(${PROJECT_NAME} PRIVATE ${RE_DEFINITIONS})
target_include_directories(${PROJECT_NAME} PRIVATE
include ${RE_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR})
set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_SOVERSION})
add_library(rem-objs OBJECT ${SRCS} ${HEADERS})

set_target_properties(rem-objs PROPERTIES POSITION_INDEPENDENT_CODE ON)

target_compile_definitions(rem-objs PRIVATE ${RE_DEFINITIONS})

target_link_libraries(rem-objs ${LINKLIBS})
target_include_directories(rem-objs
PUBLIC include
PRIVATE ${RE_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR}
)


##############################################################################
#
# Shared target librem.[so|dll|dylib]
#

add_library(rem-shared SHARED $<TARGET_OBJECTS:rem-objs>)
target_link_libraries(rem-shared PRIVATE ${LINKLIBS})
set_target_properties(rem-shared PROPERTIES VERSION
${PROJECT_SOVERSION}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
set_target_properties(rem-shared PROPERTIES SOVERSION ${PROJECT_SOVERSION})
set_target_properties(rem-shared PROPERTIES OUTPUT_NAME "rem")


##############################################################################
#
# Static target librem.a
#

add_library(rem STATIC $<TARGET_OBJECTS:rem-objs>)
target_link_libraries(rem PUBLIC ${LINKLIBS})
target_include_directories(rem PUBLIC include)
set_target_properties(rem PROPERTIES PUBLIC_HEADER "${HEADERS}")
install(TARGETS rem LIBRARY)

if(MSVC)
set_target_properties(rem PROPERTIES OUTPUT_NAME "rem-static")
endif()


##############################################################################
#
# Packaging section
#

if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
add_subdirectory(packaging)
endif()

configure_file(packaging/librem.pc.in librem.pc @ONLY)


##############################################################################
#
# Install section
#

install(TARGETS rem-shared rem
LIBRARY
DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT Libraries
NAMELINK_SKIP
ARCHIVE
DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT Development
PUBLIC_HEADER
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/rem
COMPONENT Development
)

install(TARGETS rem-shared
LIBRARY
DESTINATION ${CMAKE_INSTALL_LIBDIR}
NAMELINK_ONLY
COMPONENT Development
)

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/librem.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
COMPONENT Development
)
32 changes: 32 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Copyright (C) 2020 - 2022, Baresip Foundation (https://github.com/baresip)
Copyright (c) 2010 - 2022, Alfred E. Heggestad
Copyright (c) 2010 - 2020, Richard Aas
Copyright (c) 2010 - 2020, Creytiv.com
All rights reserved.


Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

# Main version number
VER_MAJOR := 2
VER_MINOR := 7
VER_MINOR := 8
VER_PATCH := 0

# Development version, comment out on a release
Expand All @@ -26,7 +26,7 @@ else
VERSION := $(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)-$(VER_PRE)
endif
OPT_SPEED := 1
LIBRE_MIN := 2.7.0
LIBRE_MIN := 2.8.0

ifndef LIBRE_MK
LIBRE_MK := $(shell [ -f ../re/mk/re.mk ] && \
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ librem README
librem is a Audio and video processing media library

- Copyright (C) 2010 - 2019 Creytiv.com
- Copyright (C) 2020 - 2021 Baresip Foundation (https://github.com/baresip)
- Copyright (C) 2020 - 2022 Baresip Foundation (https://github.com/baresip)

[![Build](https://github.com/baresip/rem/actions/workflows/build.yml/badge.svg)](https://github.com/baresip/rem/actions/workflows/build.yml)

Expand Down
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
librem (2.8.0) unstable; urgency=medium

* version 2.8.0

-- Christian Spielberger <c.spielberger@commend.com> Sat, 1 Oct 2022 08:00:00 +0200

librem (2.7.0) unstable; urgency=medium

* version 2.7.0
Expand Down
1 change: 0 additions & 1 deletion debian/compat

This file was deleted.

8 changes: 4 additions & 4 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ Source: librem
Section: comm
Priority: optional
Maintainer: Alfred E. Heggestad <aeh@db.org>
Standards-Version: 3.9.5
Build-Depends: debhelper (>= 9.20120311), libre-dev (>= 1.1.0)
Homepage: http://www.creytiv.com/
Standards-Version: 4.1.5
Build-Depends: cmake, dh-cmake, dh-cmake-compat (= 1), dh-sequence-cmake, debhelper-compat (= 12)
Homepage: https://github.com/baresip/rem

Package: librem
Architecture: any
Section: libs
Depends: libre (>= 1.1.0), ${shlibs:Depends}, ${misc:Depends}
Depends: libre (>= 2.7.0), ${shlibs:Depends}, ${misc:Depends}
Description: Audio and video processing media library
Audio mixer, resampler, tone generator, G.711 codec
Video mixer, pixel converter
Expand Down
35 changes: 15 additions & 20 deletions debian/copyright
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
This package was debianized by Alfred E. Heggestad <aeh@db.org>

It was downloaded from http://www.creytiv.com/


Copyright (c) 2010 - 2014, Alfred E. Heggestad
Copyright (c) 2010 - 2014, Richard Aas
Copyright (c) 2010 - 2014, Creytiv.com
Copyright (C) 2020 - 2022, Baresip Foundation (https://github.com/baresip)
Copyright (c) 2010 - 2022, Alfred E. Heggestad
Copyright (c) 2010 - 2020, Richard Aas
Copyright (c) 2010 - 2020, Creytiv.com
All rights reserved.


Expand All @@ -20,18 +16,17 @@ are met:
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

3. Neither the name of the Creytiv.com nor the names of its contributors
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.


THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1 change: 1 addition & 0 deletions debian/librem-dev.cmake-components
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Development
2 changes: 0 additions & 2 deletions debian/librem-dev.dirs

This file was deleted.

3 changes: 0 additions & 3 deletions debian/librem-dev.files

This file was deleted.

1 change: 1 addition & 0 deletions debian/librem.cmake-components
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Libraries
1 change: 0 additions & 1 deletion debian/librem.dirs

This file was deleted.

1 change: 0 additions & 1 deletion debian/librem.files

This file was deleted.

Loading

0 comments on commit e9a4aa8

Please sign in to comment.