[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-multimedia
Subject: Patch to re-enable vorbis-support in audiocd-kio
From: Felix Tiede <info () pc-tiede ! de>
Date: 2012-09-27 14:53:35
Message-ID: 24530315.jpzSXN9cx7 () pip
[Download RAW message or body]
Hello,
as per mpyne's request from https://bugs.kde.org/show_bug.cgi?id=307343#c4
I propose my patch to audiocd-kio for review.
This patch relies on libvorbisenc version 2 or newer to build the vorbis
encoder plugin. libvorbisenc is, according to xiph.org's repository, itself
about 10 years old.
The version is still checked by cmake and if it is too old, the vorbis
encoder plugin is not built. I have removed all conditional compiling from
the plugin in favor of this configure-time check as I doubt there is still
an installation of libvorbisenc older than those ten years.
I am not sure which is the minimum version of cmake to create
HAVE_LIBVORBISENC2 variable, my cmake is v2.8.9 and does so.
Kind regards,
Felix Tiede
["audiocd-kio-4.9.1-fix_vorbis-plugin.patch" (audiocd-kio-4.9.1-fix_vorbis-plugin.patch)]
diff -purN audiocd-kio-4.9.1.orig/plugins/CMakeLists.txt \
audiocd-kio-4.9.1/plugins/CMakeLists.txt
--- audiocd-kio-4.9.1.orig/plugins/CMakeLists.txt 2012-09-27 \
07:50:28.292899194 +0200
+++ audiocd-kio-4.9.1/plugins/CMakeLists.txt 2012-09-27 07:53:56.346233263 \
+0200 @@ -9,9 +9,9 @@ endif(FLAC_FOUND)
macro_optional_find_package(OggVorbis)
macro_log_feature(OGGVORBIS_FOUND "OggVorbis" "Libraries for Ogg Vorbis \
general audio compression codec" "http://www.xiph.org" FALSE "" "Required \
for the AudioCD Ogg Vorbis plugin.")
-if (OGGVORBIS_FOUND)
+if (OGGVORBIS_FOUND AND HAVE_LIBVORBISENC2)
add_subdirectory( vorbis )
-endif(OGGVORBIS_FOUND)
+endif(OGGVORBIS_FOUND AND HAVE_LIBVORBISENC2)
add_subdirectory( wav )
add_subdirectory( lame )
diff -purN audiocd-kio-4.9.1.orig/plugins/vorbis/encodervorbis.cpp \
audiocd-kio-4.9.1/plugins/vorbis/encodervorbis.cpp
--- audiocd-kio-4.9.1.orig/plugins/vorbis/encodervorbis.cpp 2012-08-13 \
11:38:48.000000000 +0200
+++ audiocd-kio-4.9.1/plugins/vorbis/encodervorbis.cpp 2012-09-27 \
07:55:37.649566952 +0200 @@ -25,8 +25,6 @@
#include "encodervorbis.h"
#include "audiocd_vorbis_encoder.h"
-#ifdef HAVE_VORBIS
-
#include <vorbis/vorbisenc.h>
#include <time.h>
#include <stdlib.h>
@@ -139,11 +137,8 @@ void EncoderVorbis::loadSettings(){
// Now that we have read in the settings apply them to the encoder lib
switch (d->vorbis_encode_method) {
case 0:
-/* Support very old libvorbis by simply falling through. */
-#if HAVE_VORBIS >= 2
vorbis_encode_init_vbr(&d->vi, 2, 44100, d->vorbis_quality/10.0);
break;
-#endif
case 1:
vorbis_encode_init(&d->vi, 2, 44100, d->vorbis_bitrate_upper, \
d->vorbis_bitrate_nominal, d->vorbis_bitrate_lower); break;
@@ -155,18 +150,11 @@ long EncoderVorbis::flush_vorbis(void) {
long processed(0);
while(vorbis_analysis_blockout(&d->vd,&d->vb)==1) {
- /* Support ancient libvorbis (< RC3). */
-#if HAVE_VORBIS >= 2
vorbis_analysis(&d->vb,NULL);
/* Non-ancient case. */
vorbis_bitrate_addblock(&d->vb);
while(vorbis_bitrate_flushpacket(&d->vd, &d->op)) {
-#else
- vorbis_analysis(&d->vb,&d->op);
- /* Make a lexical block to place the #ifdef's nearby. */
- if (1) {
-#endif
ogg_stream_packetin(&d->os,&d->op);
while(int result=ogg_stream_pageout(&d->os,&d->og)) {
if (!result) break;
@@ -193,9 +181,6 @@ unsigned long EncoderVorbis::size(long t
switch (d->vorbis_encode_method)
{
case 0: // quality based encoding
-
-#if HAVE_VORBIS >= 2 // If really old Vorbis is being used, skip this \
nicely.
-
{
// Estimated numbers based on the Vorbis FAQ:
// http://www.xiph.org/archives/vorbis-faq/200203/0030.html
@@ -209,9 +194,6 @@ unsigned long EncoderVorbis::size(long t
break;
}
-
-#endif // HAVE_VORBIS >= 2
-
default: // bitrate based encoding
vorbis_size = (time_secs * d->vorbis_bitrate/8);
break;
@@ -321,5 +303,3 @@ void EncoderVorbis::fillSongInfo( KCDDB:
}
}
-#endif // HAVE_VORBIS
-
diff -purN audiocd-kio-4.9.1.orig/plugins/vorbis/encodervorbis.h \
audiocd-kio-4.9.1/plugins/vorbis/encodervorbis.h
--- audiocd-kio-4.9.1.orig/plugins/vorbis/encodervorbis.h 2012-08-13 \
11:38:48.000000000 +0200
+++ audiocd-kio-4.9.1/plugins/vorbis/encodervorbis.h 2012-09-27 \
07:54:18.442900007 +0200 @@ -26,7 +26,6 @@
#define ENCODER_VORBIS_H
#include "ui_encodervorbisconfig.h"
-#ifdef HAVE_VORBIS
#include <audiocdencoder.h>
@@ -70,7 +69,5 @@ private:
};
-#endif // HAVE_VORBIS
-
#endif // ENCODER_VORBIS_H
_______________________________________________
kde-multimedia mailing list
kde-multimedia@kde.org
https://mail.kde.org/mailman/listinfo/kde-multimedia
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic