mirror of
https://github.com/taglib/taglib.git
synced 2026-06-08 07:19:20 -04:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6083f327f | ||
|
|
8b43367eb4 | ||
|
|
639b604a55 | ||
|
|
482431286e | ||
|
|
cc7c66bf86 | ||
|
|
db3db34e21 | ||
|
|
9b17ca219c | ||
|
|
f644bafa44 | ||
|
|
06f405f719 | ||
|
|
cf83551c93 | ||
|
|
0adea10728 |
@@ -2,6 +2,8 @@ project(taglib)
|
||||
|
||||
cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
|
||||
|
||||
OPTION(ENABLE_STATIC "Make static version of libtag" OFF)
|
||||
|
||||
OPTION(BUILD_TESTS "Build the test suite" OFF)
|
||||
OPTION(BUILD_EXAMPLES "Build the examples" OFF)
|
||||
|
||||
@@ -53,6 +55,15 @@ endif(NOT WIN32)
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
configure_file(config-taglib.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h )
|
||||
|
||||
if(WITH_ASF)
|
||||
set(TAGLIB_WITH_ASF TRUE)
|
||||
endif(WITH_ASF)
|
||||
if(WITH_MP4)
|
||||
set(TAGLIB_WITH_MP4 TRUE)
|
||||
endif(WITH_MP4)
|
||||
configure_file(taglib/taglib_config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib_config.h )
|
||||
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/taglib_config.h DESTINATION ${INCLUDE_INSTALL_DIR}/taglib)
|
||||
|
||||
ADD_SUBDIRECTORY( taglib )
|
||||
|
||||
ADD_SUBDIRECTORY(tests)
|
||||
|
||||
11
NEWS
11
NEWS
@@ -1,6 +1,17 @@
|
||||
TagLib 1.6
|
||||
==========
|
||||
|
||||
1.6:
|
||||
|
||||
* New CMake option to build a static version - ENABLE_STATIC.
|
||||
* Added support for disabling dllimport/dllexport on Windows using the
|
||||
TAGLIB_STATIC macro.
|
||||
* Support for parsing the obsolete 'gnre' MP4 atom.
|
||||
* New cpp macros TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF to determin if
|
||||
TagLib was built with MP4/ASF support.
|
||||
|
||||
1.6 RC1:
|
||||
|
||||
* Split Ogg packets larger than 64k into multiple pages. (BUG:171957)
|
||||
* TagLib can now use FLAC padding block. (BUG:107659)
|
||||
* ID3v2.2 frames are now not incorrectly saved. (BUG:176373)
|
||||
|
||||
@@ -19,6 +19,9 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib_c.pc.cmake ${CMAKE_CURRENT_BIN
|
||||
########### next target ###############
|
||||
|
||||
ADD_LIBRARY(tag_c SHARED tag_c.cpp)
|
||||
if(ENABLE_STATIC)
|
||||
set_target_properties(tag_c PROPERTIES COMPILE_DEFINITIONS TAGLIB_STATIC)
|
||||
endif(ENABLE_STATIC)
|
||||
|
||||
TARGET_LINK_LIBRARIES(tag_c tag )
|
||||
|
||||
|
||||
@@ -86,11 +86,11 @@ TagLib_File *taglib_file_new_type(const char *filename, TagLib_File_Type type)
|
||||
return reinterpret_cast<TagLib_File *>(new Ogg::Speex::File(filename));
|
||||
case TagLib_File_TrueAudio:
|
||||
return reinterpret_cast<TagLib_File *>(new TrueAudio::File(filename));
|
||||
#ifdef WITH_MP4
|
||||
#ifdef TAGLIB_WITH_MP4
|
||||
case TagLib_File_MP4:
|
||||
return reinterpret_cast<TagLib_File *>(new MP4::File(filename));
|
||||
#endif
|
||||
#ifdef WITH_ASF
|
||||
#ifdef TAGLIB_WITH_ASF
|
||||
case TagLib_File_ASF:
|
||||
return reinterpret_cast<TagLib_File *>(new ASF::File(filename));
|
||||
#endif
|
||||
|
||||
@@ -56,6 +56,7 @@ KDE_CONF_FILES
|
||||
dnl without this order in this file, automake will be confused!
|
||||
dnl
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
AM_CONFIG_HEADER(taglib/taglib_config.h)
|
||||
|
||||
dnl checks for programs.
|
||||
dnl first check for c/c++ compilers
|
||||
@@ -129,15 +130,15 @@ AC_DEFUN([AC_NO_CPPUNIT],
|
||||
AC_ARG_ENABLE([mp4],
|
||||
[AS_HELP_STRING([--enable-mp4], [add MP4 support])],
|
||||
[
|
||||
AC_DEFINE([WITH_MP4], [1],
|
||||
[With MP4 support])
|
||||
AC_DEFINE([WITH_MP4], [1], [With MP4 support])
|
||||
AC_DEFINE([TAGLIB_WITH_MP4], [1], [With MP4 support])
|
||||
])
|
||||
|
||||
AC_ARG_ENABLE([asf],
|
||||
[AS_HELP_STRING([--enable-asf], [add ASF support])],
|
||||
[
|
||||
AC_DEFINE([WITH_ASF], [1],
|
||||
[With ASF support])
|
||||
AC_DEFINE([WITH_ASF], [1], [With ASF support])
|
||||
AC_DEFINE([TAGLIB_WITH_ASF], [1], [With ASF support])
|
||||
])
|
||||
|
||||
AC_LANG_SAVE
|
||||
|
||||
@@ -7,6 +7,10 @@ INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/../taglib
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../taglib/mpeg/id3v2
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../bindings/c/ )
|
||||
|
||||
if(ENABLE_STATIC)
|
||||
add_definitions(-DTAGLIB_STATIC)
|
||||
endif(ENABLE_STATIC)
|
||||
|
||||
########### next target ###############
|
||||
|
||||
ADD_EXECUTABLE(tagreader tagreader.cpp)
|
||||
|
||||
@@ -19,7 +19,6 @@ INCLUDE_DIRECTORIES(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/riff
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/riff/aiff
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/riff/wav
|
||||
${CMAKE_CURRENT_BINARY_DIR}/taglib
|
||||
${CMAKE_CURRENT_BINARY_DIR}/..
|
||||
)
|
||||
if(ZLIB_FOUND)
|
||||
@@ -184,7 +183,12 @@ SET(tag_LIB_SRCS ${mpeg_SRCS} ${id3v1_SRCS} ${id3v2_SRCS} ${frames_SRCS} ${ogg_S
|
||||
)
|
||||
|
||||
|
||||
ADD_LIBRARY(tag SHARED ${tag_LIB_SRCS})
|
||||
if(ENABLE_STATIC)
|
||||
add_library(tag STATIC ${tag_LIB_SRCS})
|
||||
set_target_properties(tag PROPERTIES COMPILE_DEFINITIONS TAGLIB_STATIC)
|
||||
else(ENABLE_STATIC)
|
||||
add_library(tag SHARED ${tag_LIB_SRCS})
|
||||
endif(ENABLE_STATIC)
|
||||
|
||||
TARGET_LINK_LIBRARIES(tag )
|
||||
if(ZLIB_FOUND)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
SUBDIRS = toolkit mpeg ogg flac ape mpc wavpack trueaudio riff asf mp4
|
||||
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
@@ -23,7 +24,7 @@ INCLUDES = \
|
||||
lib_LTLIBRARIES = libtag.la
|
||||
|
||||
libtag_la_SOURCES = tag.cpp tagunion.cpp fileref.cpp audioproperties.cpp
|
||||
taglib_include_HEADERS = tag.h fileref.h audioproperties.h taglib_export.h
|
||||
taglib_include_HEADERS = tag.h fileref.h audioproperties.h taglib_export.h taglib_config.h
|
||||
taglib_includedir = $(includedir)/taglib
|
||||
|
||||
# Here are a set of rules to help you update your library version information:
|
||||
@@ -42,9 +43,10 @@ taglib_includedir = $(includedir)/taglib
|
||||
# set age to 0.
|
||||
# Version history:
|
||||
# 6:0:5 -- TagLib 1.5
|
||||
# 7:0:6 -- TagLib 1.6
|
||||
# 7:0:6 -- TagLib 1.6 RC1
|
||||
# 7:1:6 -- TagLib 1.6
|
||||
|
||||
libtag_la_LDFLAGS = $(all_libraries) -no-undefined -version-info 7:0:6
|
||||
libtag_la_LDFLAGS = $(all_libraries) -no-undefined -version-info 7:1:6
|
||||
libtag_la_LIBADD = ./mpeg/libmpeg.la ./ogg/libogg.la ./flac/libflac.la ./mpc/libmpc.la \
|
||||
./ape/libape.la ./toolkit/libtoolkit.la ./wavpack/libwavpack.la \
|
||||
./trueaudio/libtrueaudio.la ./riff/libriff.la \
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -129,14 +129,14 @@ StringList FileRef::defaultFileExtensions()
|
||||
l.append("wv");
|
||||
l.append("spx");
|
||||
l.append("tta");
|
||||
#ifdef WITH_MP4
|
||||
#ifdef TAGLIB_WITH_MP4
|
||||
l.append("m4a");
|
||||
l.append("m4b");
|
||||
l.append("m4p");
|
||||
l.append("3g2");
|
||||
l.append("mp4");
|
||||
#endif
|
||||
#ifdef WITH_ASF
|
||||
#ifdef TAGLIB_WITH_ASF
|
||||
l.append("wma");
|
||||
l.append("asf");
|
||||
#endif
|
||||
@@ -221,11 +221,11 @@ File *FileRef::create(FileName fileName, bool readAudioProperties,
|
||||
return new Ogg::Speex::File(fileName, readAudioProperties, audioPropertiesStyle);
|
||||
if(ext == "TTA")
|
||||
return new TrueAudio::File(fileName, readAudioProperties, audioPropertiesStyle);
|
||||
#ifdef WITH_MP4
|
||||
#ifdef TAGLIB_WITH_MP4
|
||||
if(ext == "M4A" || ext == "M4B" || ext == "M4P" || ext == "MP4" || ext == "3G2")
|
||||
return new MP4::File(fileName, readAudioProperties, audioPropertiesStyle);
|
||||
#endif
|
||||
#ifdef WITH_ASF
|
||||
#ifdef TAGLIB_WITH_ASF
|
||||
if(ext == "WMA" || ext == "ASF")
|
||||
return new ASF::File(fileName, readAudioProperties, audioPropertiesStyle);
|
||||
#endif
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
-I$(top_srcdir)/taglib/mpeg/id3v1 \
|
||||
$(all_includes)
|
||||
|
||||
noinst_LTLIBRARIES = libmp4.la
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include <tstring.h>
|
||||
#include "mp4atom.h"
|
||||
#include "mp4tag.h"
|
||||
#include "id3v1genres.h"
|
||||
|
||||
using namespace TagLib;
|
||||
|
||||
@@ -73,6 +74,9 @@ MP4::Tag::Tag(File *file, MP4::Atoms *atoms)
|
||||
else if(atom->name == "tmpo") {
|
||||
parseInt(atom, file);
|
||||
}
|
||||
else if(atom->name == "gnre") {
|
||||
parseGnre(atom, file);
|
||||
}
|
||||
else {
|
||||
parseText(atom, file);
|
||||
}
|
||||
@@ -130,6 +134,18 @@ MP4::Tag::parseInt(MP4::Atom *atom, TagLib::File *file)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
MP4::Tag::parseGnre(MP4::Atom *atom, TagLib::File *file)
|
||||
{
|
||||
ByteVectorList data = parseData(atom, file);
|
||||
if(data.size()) {
|
||||
int idx = (int)data[0].toShort();
|
||||
if(!d->items.contains("\251gen")) {
|
||||
d->items.insert("\251gen", StringList(ID3v1::genre(idx)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
MP4::Tag::parseIntPair(MP4::Atom *atom, TagLib::File *file)
|
||||
{
|
||||
|
||||
@@ -71,6 +71,7 @@ namespace TagLib {
|
||||
void parseText(Atom *atom, TagLib::File *file, int expectedFlags = 1);
|
||||
void parseFreeForm(Atom *atom, TagLib::File *file);
|
||||
void parseInt(Atom *atom, TagLib::File *file);
|
||||
void parseGnre(Atom *atom, TagLib::File *file);
|
||||
void parseIntPair(Atom *atom, TagLib::File *file);
|
||||
void parseBool(Atom *atom, TagLib::File *file);
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
SUBDIRS = id3v1 id3v2
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
SUBDIRS = frames
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -137,7 +137,7 @@ void AttachedPictureFrame::parseFields(const ByteVector &data)
|
||||
|
||||
d->mimeType = readStringField(data, String::Latin1, &pos);
|
||||
/* Now we need at least two more bytes available */
|
||||
if (pos + 1 >= data.size()) {
|
||||
if (uint(pos) + 1 >= data.size()) {
|
||||
debug("Truncated picture frame.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
SUBDIRS = vorbis flac speex
|
||||
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = -I$(top_srcdir)/taglib -I$(top_srcdir)/taglib/toolkit $(all_includes)
|
||||
|
||||
noinst_LTLIBRARIES = libogg.la
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -394,8 +394,8 @@ void Ogg::File::writePageGroup(const List<int> &thePageGroup)
|
||||
// First step: Pages that contain the comment data
|
||||
|
||||
for(List<Page *>::ConstIterator it = pages.begin(); it != pages.end(); ++it) {
|
||||
const int index = (*it)->header()->pageSequenceNumber();
|
||||
if(index < static_cast<int>(d->pages.size())) {
|
||||
const unsigned int index = (*it)->header()->pageSequenceNumber();
|
||||
if(index < d->pages.size()) {
|
||||
delete d->pages[index];
|
||||
d->pages[index] = *it;
|
||||
}
|
||||
@@ -411,8 +411,8 @@ void Ogg::File::writePageGroup(const List<int> &thePageGroup)
|
||||
// Second step: the renumbered pages
|
||||
|
||||
for(List<Page *>::ConstIterator it = renumberedPages.begin(); it != renumberedPages.end(); ++it) {
|
||||
const int index = (*it)->header()->pageSequenceNumber();
|
||||
if(index < static_cast<int>(d->pages.size())) {
|
||||
const unsigned int index = (*it)->header()->pageSequenceNumber();
|
||||
if(index < d->pages.size()) {
|
||||
delete d->pages[index];
|
||||
d->pages[index] = *it;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
SUBDIRS = aiff wav
|
||||
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -167,7 +167,7 @@ void RIFF::File::read()
|
||||
ByteVector chunkName = readBlock(4);
|
||||
uint chunkSize = readBlock(4).toUInt(bigEndian);
|
||||
|
||||
if(tell() + chunkSize > length()) {
|
||||
if(tell() + chunkSize > uint(length())) {
|
||||
// something wrong
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
4
taglib/taglib_config.h.cmake
Normal file
4
taglib/taglib_config.h.cmake
Normal file
@@ -0,0 +1,4 @@
|
||||
/* taglib_config.h. Generated by cmake from taglib_config.h.cmake */
|
||||
|
||||
#cmakedefine TAGLIB_WITH_ASF 1
|
||||
#cmakedefine TAGLIB_WITH_MP4 1
|
||||
5
taglib/taglib_config.h.in
Normal file
5
taglib/taglib_config.h.in
Normal file
@@ -0,0 +1,5 @@
|
||||
/* With ASF support */
|
||||
#undef TAGLIB_WITH_ASF
|
||||
|
||||
/* With MP4 support */
|
||||
#undef TAGLIB_WITH_MP4
|
||||
@@ -26,7 +26,7 @@
|
||||
#ifndef TAGLIB_EXPORT_H
|
||||
#define TAGLIB_EXPORT_H
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
#if !defined(TAGLIB_STATIC) && (defined(_WIN32) || defined(_WIN64))
|
||||
#ifdef MAKE_TAGLIB_LIB
|
||||
#define TAGLIB_EXPORT __declspec(dllexport)
|
||||
#else
|
||||
@@ -36,4 +36,6 @@
|
||||
#define TAGLIB_EXPORT
|
||||
#endif
|
||||
|
||||
#include "taglib_config.h"
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
$(all_includes)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DEFS = -DMAKE_TAGLIB_LIB @DEFS@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
|
||||
@@ -14,7 +14,7 @@ using namespace TagLib;
|
||||
class TestFileRef : public CppUnit::TestFixture
|
||||
{
|
||||
CPPUNIT_TEST_SUITE(TestFileRef);
|
||||
#ifdef WITH_ASF
|
||||
#ifdef TAGLIB_WITH_ASF
|
||||
CPPUNIT_TEST(testASF);
|
||||
#endif
|
||||
CPPUNIT_TEST(testMusepack);
|
||||
@@ -22,7 +22,7 @@ class TestFileRef : public CppUnit::TestFixture
|
||||
CPPUNIT_TEST(testSpeex);
|
||||
CPPUNIT_TEST(testFLAC);
|
||||
CPPUNIT_TEST(testMP3);
|
||||
#ifdef WITH_MP4
|
||||
#ifdef TAGLIB_WITH_MP4
|
||||
CPPUNIT_TEST(testMP4_1);
|
||||
CPPUNIT_TEST(testMP4_2);
|
||||
CPPUNIT_TEST(testMP4_3);
|
||||
@@ -82,7 +82,7 @@ public:
|
||||
fileRefSave("click", ".mpc");
|
||||
}
|
||||
|
||||
#ifdef WITH_ASF
|
||||
#ifdef TAGLIB_WITH_ASF
|
||||
void testASF()
|
||||
{
|
||||
fileRefSave("silence-1", ".wma");
|
||||
@@ -114,7 +114,7 @@ public:
|
||||
fileRefSave("empty", ".tta");
|
||||
}
|
||||
|
||||
#ifdef WITH_MP4
|
||||
#ifdef TAGLIB_WITH_MP4
|
||||
void testMP4_1()
|
||||
{
|
||||
fileRefSave("has-tags", ".m4a");
|
||||
|
||||
Reference in New Issue
Block a user