File AtomicParsley.spec of Package AtomicParsley

#
# spec file for package AtomicParsley
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2015-2020 LISA GmbH, Bingen, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           AtomicParsley
Version:        20200701.154658.b0d6223
Release:        0
Summary:        Read and set metadata tags in MPEG-4 files & 3gp assets
License:        GPL-2.0-only
Group:          Productivity/Multimedia/Other
URL:            https://github.com/wez/atomicparsley
Source:         https://github.com/wez/atomicparsley/archive/%{version}/%{name}-%{version}.tar.gz
BuildRequires:  cmake >= 3.17
BuildRequires:  gcc-c++
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(zlib)

%description
AtomicParsley is a lightweight command line program for reading, parsing and
setting metadata into MPEG-4 files supporting these styles of metadata:

 * iTunes-style metadata into .mp4, .m4a, .m4p, .m4v, .m4b files
 * 3gp-style assets (3GPP TS 26.444 version 6.4.0 Release 6 specification
   conforming) in 3GPP, 3GPP2, MobileMP4 & derivatives
 * ISO copyright notices at movie & track level for MPEG-4 & derivative files
 * uuid private user extension text & file embedding for MPEG-4 & derivative
   files

The MPEG-4 container is based on Apple's Quicktime .mov container (just more
sane) & there are a number of similarites - as well as differences. Each MPEG-4
file lists a "major file brand" that broadly says which specification the file
adheres to. For example, an iTunes audio file typically lists 'M4A ' as its
major file brand, while a 3GPP2 .3g2 file has something like '3g2a'. It is
based on this major file brand that AtomicParsley allows a style of metadata to
be set. Since there is nothing in the 3GPP2 specification regarding
iTunes-style metadata, its use is prevented on such files. Similarly, a 3gp
'location' asset is not available for an iTMS video file. The first paragraph
here sums the situation up well.

With the exception of artwork, all iTunes-style tags support only 1 piece of
metadata - you can't have for example 3 title tags. 3gp assets and copyright
notices support multiple tags, but they must differ in the language setting for
that tag. You can have for example 3 title tags, but 1 in english, 1 in
spanish, 1 in undefined. All iTunes-style text metadata is always in UTF-8; 3gp
assets & copyright notices can be in set in UTF-8 or UTF-16. All strings are
converted internally to UTF-8, converting as necessary. On *nix platforms,
input is in UTF-8; the native Windows port supports full UTF-16 input.

%prep
%setup -q -n atomicparsley-%{version}

%build
%cmake
%cmake_build

%install
install -Dm 0755 build/%{name} %{buildroot}%{_bindir}/%{name}

%files
%license COPYING
%doc Changes.txt CREDITS README.md
%{_bindir}/%{name}

%changelog
openSUSE Build Service is sponsored by