From 8d533e7e66e8a518e32f8f729a8ea3042b6d19a2 Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Mon, 19 Sep 2016 22:25:10 +0200 Subject: [PATCH] gnac: use GStreamer 1.0. Patches from Arch. --- srcpkgs/gnac/patches/cflags.patch | 19 + srcpkgs/gnac/patches/fix-build.patch | 25 + srcpkgs/gnac/patches/gstreamer-1.0.patch | 1648 ++++++++++++++++++++++ srcpkgs/gnac/template | 17 +- 4 files changed, 1704 insertions(+), 5 deletions(-) create mode 100644 srcpkgs/gnac/patches/cflags.patch create mode 100644 srcpkgs/gnac/patches/fix-build.patch create mode 100644 srcpkgs/gnac/patches/gstreamer-1.0.patch diff --git a/srcpkgs/gnac/patches/cflags.patch b/srcpkgs/gnac/patches/cflags.patch new file mode 100644 index 00000000000..68a00b62eba --- /dev/null +++ b/srcpkgs/gnac/patches/cflags.patch @@ -0,0 +1,19 @@ +--- gnac-0.2.4.1/configure.ac.orig ++++ gnac-0.2.4.1/configure.ac +@@ -122,16 +122,6 @@ + AC_SUBST(DISABLE_DEPRECATED) + fi + +-# debug support +-AC_ARG_ENABLE([debug], [], +-[ if test "$enableval" = "yes"; then +- CFLAGS="-g -ggdb -O0" +- else +- CFLAGS="-O2" +- fi +- AC_SUBST([CFLAGS]) +- ]) +- + AC_SUBST([AM_CPPFLAGS]) + AC_SUBST([AM_CFLAGS]) + AC_SUBST([AM_LDFLAGS]) diff --git a/srcpkgs/gnac/patches/fix-build.patch b/srcpkgs/gnac/patches/fix-build.patch new file mode 100644 index 00000000000..6dc76c2b7dd --- /dev/null +++ b/srcpkgs/gnac/patches/fix-build.patch @@ -0,0 +1,25 @@ +From 46c37c04967c06d1f8ded3b40161b9d9fcb8ff8d Mon Sep 17 00:00:00 2001 +From: Dominique Leuenberger +Date: Fri, 19 Jun 2015 09:14:14 +0200 +Subject: libgnac-debug.h: fix typo (critial vs critical) + +--- + libgnac/libgnac-debug.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libgnac/libgnac-debug.h b/libgnac/libgnac-debug.h +index 3f2705d..087e251 100644 +--- a/libgnac/libgnac-debug.h ++++ b/libgnac/libgnac-debug.h +@@ -52,7 +52,7 @@ + + #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define libgnac_critical(...) \ +- libgnac_critial_real (__func__, __FILE__, __LINE__, TRUE, __VA_ARGS__) ++ libgnac_critical_real (__func__, __FILE__, __LINE__, TRUE, __VA_ARGS__) + #elif defined(__GNUC__) && __GNUC__ >= 3 + #define libgnac_critical(...) \ + libgnac_critical_real (__FUNCTION__, __FILE__, __LINE__, __VA_ARGS__) +-- +cgit v0.12 + diff --git a/srcpkgs/gnac/patches/gstreamer-1.0.patch b/srcpkgs/gnac/patches/gstreamer-1.0.patch new file mode 100644 index 00000000000..ad46c0a47b2 --- /dev/null +++ b/srcpkgs/gnac/patches/gstreamer-1.0.patch @@ -0,0 +1,1648 @@ +diff -Naur gnac-0.2.4.1.orig/configure.ac gnac-0.2.4.1/configure.ac +--- gnac-0.2.4.1.orig/configure.ac 2012-04-22 14:09:01.000000000 +0200 ++++ gnac-0.2.4.1/configure.ac 2015-01-09 23:55:03.296384170 +0100 +@@ -93,21 +93,21 @@ + dnl Find the GStreamer libraries + GSTREAMER_REQUIRED_VERSION=0.10.31 + PKG_CHECK_MODULES(GSTREAMER, [ +- gstreamer-0.10 >= $GSTREAMER_REQUIRED_VERSION +- gstreamer-base-0.10 >= $GSTREAMER_REQUIRED_VERSION +- gstreamer-pbutils-0.10 >= $GSTREAMER_REQUIRED_VERSION +- gstreamer-plugins-base-0.10 >= $GSTREAMER_REQUIRED_VERSION +- gstreamer-tag-0.10 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-1.0 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-base-1.0 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-pbutils-1.0 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-plugins-base-1.0 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-tag-1.0 >= $GSTREAMER_REQUIRED_VERSION + ]) + AC_SUBST(GSTREAMER_CFLAGS) + AC_SUBST(GSTREAMER_LIBS) + + dnl Find the GStreamer elements we use, and warn if they are not present +-AM_GST_ELEMENT_CHECK(faac, , AC_MSG_WARN([The 'faac' element was not found. This will cause encoding to AAC to fail.])) +-AM_GST_ELEMENT_CHECK(flacenc, , AC_MSG_WARN([The 'flacenc' element was not found. This will cause encoding to FLAC to fail.])) +-AM_GST_ELEMENT_CHECK(lame, , AC_MSG_WARN([The 'lame' element was not found. This will cause encoding to MP3 to fail.])) +-AM_GST_ELEMENT_CHECK(wavenc, , AC_MSG_WARN([The 'wavenc' element was not found. This will cause encoding to WAV to fail.])) +-AM_GST_ELEMENT_CHECK(wavpackenc, , AC_MSG_WARN([The 'wavpackenc' element was not found. This will cause encoding to WAVPACK to fail.])) ++GST_ELEMENT_CHECK(faac, 1.0, , AC_MSG_WARN([The 'faac' element was not found. This will cause encoding to AAC to fail.])) ++GST_ELEMENT_CHECK(flacenc, 1.0, , AC_MSG_WARN([The 'flacenc' element was not found. This will cause encoding to FLAC to fail.])) ++GST_ELEMENT_CHECK(lamemp3enc, 1.0, , AC_MSG_WARN([The 'lamemp3enc' element was not found. This will cause encoding to MP3 to fail.])) ++GST_ELEMENT_CHECK(wavenc, 1.0, , AC_MSG_WARN([The 'wavenc' element was not found. This will cause encoding to WAV to fail.])) ++GST_ELEMENT_CHECK(wavpackenc, 1.0, , AC_MSG_WARN([The 'wavpackenc' element was not found. This will cause encoding to WAVPACK to fail.])) + + dnl Optionnaly enable G* deprecations + AC_MSG_CHECKING([Wether to enable deprecation warnings]) +diff -Naur gnac-0.2.4.1.orig/data/profiles/aac.xml.in gnac-0.2.4.1/data/profiles/aac.xml.in +--- gnac-0.2.4.1.orig/data/profiles/aac.xml.in 2012-01-26 01:28:46.000000000 +0100 ++++ gnac-0.2.4.1/data/profiles/aac.xml.in 2015-01-09 23:49:31.329712534 +0100 +@@ -11,8 +11,8 @@ + + faac + +- ... +- ++ ... ++ + + Bitrate + bitrate +@@ -37,33 +37,12 @@ + 320 Kbps + + +- +- Profile +- <_description>AAC takes a modular approach to encoding. There are four default profiles using different tools: (LC) -> the simplest and most widely used and supported; (MAIN) -> like the LC profile, with the addition of backwards prediction; (SRS) -> a.k.a. Scalable Sample Rate (MPEG-4 AAC-SSR); (LTP) -> an improvement of the MAIN profile using a forward predictor with lower computational complexity. +- profile +- 1 +- +- Main (MAIN) +- Low complexity (LC) +- Scalable sampling rate (SSR) +- Long term prediction (LTP) +- +- +- ++ + Temporal noise shaping + <_description>Conventional transform coding schemes often encounter problems with signals that vary heavily over time, especially speech signals. Temporal noise shaping can be viewed as a postprocessing step which goal is to overcome this limitation. + tns + false + +- +- Output format +- outputformat +- 1 +- +- <_value value="1">ADTS headers +- <_value value="0">Raw AAC +- +- + + + +diff -Naur gnac-0.2.4.1.orig/data/profiles/base.xml.in gnac-0.2.4.1/data/profiles/base.xml.in +--- gnac-0.2.4.1.orig/data/profiles/base.xml.in 2012-01-26 01:28:46.000000000 +0100 ++++ gnac-0.2.4.1/data/profiles/base.xml.in 2015-01-09 23:49:31.329712534 +0100 +@@ -21,7 +21,7 @@ + + + +- audio/x-raw-int ++ audio/x-raw + audioconvert + + +diff -Naur gnac-0.2.4.1.orig/data/profiles/default/CD_Quality,_AAC.xml.in gnac-0.2.4.1/data/profiles/default/CD_Quality,_AAC.xml.in +--- gnac-0.2.4.1.orig/data/profiles/default/CD_Quality,_AAC.xml.in 2012-01-25 17:27:37.000000000 +0100 ++++ gnac-0.2.4.1/data/profiles/default/CD_Quality,_AAC.xml.in 2015-01-10 01:03:29.951986568 +0100 +@@ -8,12 +8,10 @@ + <_description>Used for converting to CD-quality audio, but with the lossy AAC codec. Use this for preparing files for copying to devices that only support the AAC codec. Note that using this format may be illegal in your jurisdiction; contact your lawyer for advice. + 2 + 44100 +- audioconvert ! audio/x-raw-float, rate=44100, channels=2 ! audioconvert ! faac bitrate=128000 outputformat=1 ++ audioconvert ! audio/x-raw, rate=44100, channels=2 ! audioconvert ! faac bitrate=128000 ! audio/mpeg, mpegversion=4, stream-format=adts ! aacparse + + + 128000 +- 1 +- 1 + false + + +diff -Naur gnac-0.2.4.1.orig/data/profiles/default/CD_Quality,_Lossless.xml.in gnac-0.2.4.1/data/profiles/default/CD_Quality,_Lossless.xml.in +--- gnac-0.2.4.1.orig/data/profiles/default/CD_Quality,_Lossless.xml.in 2012-01-25 17:27:37.000000000 +0100 ++++ gnac-0.2.4.1/data/profiles/default/CD_Quality,_Lossless.xml.in 2015-01-09 23:49:31.329712534 +0100 +@@ -8,7 +8,7 @@ + <_description>Used for converting to CD-quality audio, but with a lossless compression codec. Use this if you later want to edit the file or burn it to CD. + 2 + 44100 +- audioconvert ! audio/x-raw-float, rate=44100, channels=2 ! audioconvert ! flacenc name=enc quality=5 ++ audioconvert ! audio/x-raw, rate=44100, channels=2 ! audioconvert ! flacenc name=enc quality=5 + + + 5 +diff -Naur gnac-0.2.4.1.orig/data/profiles/default/CD_Quality,_Lossy.xml.in gnac-0.2.4.1/data/profiles/default/CD_Quality,_Lossy.xml.in +--- gnac-0.2.4.1.orig/data/profiles/default/CD_Quality,_Lossy.xml.in 2012-01-25 17:27:37.000000000 +0100 ++++ gnac-0.2.4.1/data/profiles/default/CD_Quality,_Lossy.xml.in 2015-01-09 23:49:31.333045887 +0100 +@@ -8,7 +8,7 @@ + <_description>Used for converting to CD-quality audio, but with a lossy compression codec. Use this for CD extraction and radio recordings. + 2 + 44100 +- audioconvert ! audio/x-raw-float, rate=44100, channels=2 ! audioconvert ! vorbisenc name=enc quality=0.5 ! oggmux ++ audioconvert ! audio/x-raw, rate=44100, channels=2 ! audioconvert ! vorbisenc name=enc quality=0.5 ! oggmux + + + 0.5 +diff -Naur gnac-0.2.4.1.orig/data/profiles/default/CD_Quality,_MP3.xml.in gnac-0.2.4.1/data/profiles/default/CD_Quality,_MP3.xml.in +--- gnac-0.2.4.1.orig/data/profiles/default/CD_Quality,_MP3.xml.in 2012-01-25 17:27:37.000000000 +0100 ++++ gnac-0.2.4.1/data/profiles/default/CD_Quality,_MP3.xml.in 2015-01-09 23:49:31.333045887 +0100 +@@ -8,18 +8,12 @@ + <_description>Used for converting to CD-quality audio, but with the lossy MP3 codec. Use this for preparing files for copying to devices that only support the MP3 codec. Note that using this format may be illegal in your jurisdiction; contact your lawyer for advice. + 2 + 44100 +- audioconvert ! audio/x-raw-float, rate=44100, channels=2 ! audioconvert ! lame name=enc mode=4 vbr=4 vbr-quality=6 ! xingmux ! id3v2mux ++ audioconvert ! audio/x-raw, rate=44100, channels=2 ! audioconvert ! lamemp3enc name=enc target=quality quality=4 ! xingmux ! id3v2mux + + +- 4 ++ quality + +- 6 +- +- +- +- +- +- +- 4 ++ 4 ++ + + +diff -Naur gnac-0.2.4.1.orig/data/profiles/default/Voice,_Lossless.xml.in gnac-0.2.4.1/data/profiles/default/Voice,_Lossless.xml.in +--- gnac-0.2.4.1.orig/data/profiles/default/Voice,_Lossless.xml.in 2012-01-25 17:27:37.000000000 +0100 ++++ gnac-0.2.4.1/data/profiles/default/Voice,_Lossless.xml.in 2015-01-09 23:49:31.333045887 +0100 +@@ -8,7 +8,7 @@ + <_description>Used for converting to lossless voice-quality audio. Use this for recording and editing speech. + 2 + 44100 +- audioconvert ! audio/x-raw-int, rate=44100, channels=2 ! audioconvert ! wavenc name=enc ++ audioconvert ! audio/x-raw, rate=44100, channels=2 ! audioconvert ! wavenc name=enc + + + +diff -Naur gnac-0.2.4.1.orig/data/profiles/default/Voice,_Lossy.xml.in gnac-0.2.4.1/data/profiles/default/Voice,_Lossy.xml.in +--- gnac-0.2.4.1.orig/data/profiles/default/Voice,_Lossy.xml.in 2012-01-25 17:27:37.000000000 +0100 ++++ gnac-0.2.4.1/data/profiles/default/Voice,_Lossy.xml.in 2015-01-09 23:49:31.333045887 +0100 +@@ -8,7 +8,7 @@ + <_description>Used for converting to lossy voice-quality audio. Use this for recording speech that doesn't need to be edited. + 2 + 44100 +- audioconvert ! audio/x-raw-float, rate=44100, channels=2 ! audioconvert ! speexenc name=enc quality=8 vad=false mode=0 ! oggmux ++ audioconvert ! audio/x-raw, rate=44100, channels=2 ! audioconvert ! speexenc name=enc quality=8 vad=false mode=0 ! oggmux + + + +diff -Naur gnac-0.2.4.1.orig/data/profiles/mp3-lame.xml.in gnac-0.2.4.1/data/profiles/mp3-lame.xml.in +--- gnac-0.2.4.1.orig/data/profiles/mp3-lame.xml.in 2012-01-26 01:28:46.000000000 +0100 ++++ gnac-0.2.4.1/data/profiles/mp3-lame.xml.in 2015-01-09 23:49:31.333045887 +0100 +@@ -13,58 +13,27 @@ + application/x-id3 + audio/x-mp3 + +- lame name=enc ++ lamemp3enc name=enc + + Add Xing header + Add id3v2 header + +- +- Preset +- preset +- 1006 +- +- <_value value="1006">Medium +- <_value value="1001">Standard +- <_value value="1002">Extreme +- <_value value="1003">Insane +- +- +- +- Bitrate mode +- vbr ++ ++ Target ++ target + 0 + +- <_value value="0">Constant bitrate (CBR) +- <_value value="3">Average bitrate (ABR) +- <_value value="4">Variable bitrate (VBR) +- <_value value="5">Presets +- <_value value="6">Compression ratio ++ <_value value="quality">Quality ++ <_value value="bitrate">Bitrate + + + + VBR quality +- vbr-quality ++ quality + 0.0 +- 9.0 ++ 10.0 + 1.0 +- 3.0 +- +- +- Compression ratio +- <_description>Let lame choose bitrate to achieve selected compression ratio. +- compression-ratio +- 0.0 +- 200 +- 1.0 +- 0.0 +- +- +- VBR mean bitrate +- vbr-mean-bitrate +- 0.0 +- 330.0 +- 1.0 +- 192 ++ 4.0 + + + Bitrate +@@ -90,64 +59,13 @@ + 320 Kbps + + +- +- VBR minimum bitrate +- vbr-min-bitrate +- 128 +- +- 8 Kbps +- 16 Kbps +- 24 Kbps +- 32 Kbps +- 40 Kbps +- 48 Kbps +- 56 Kbps +- 64 Kbps +- 80 Kbps +- 96 Kbps +- 112 Kbps +- 128 Kbps +- 160 Kbps +- 192 Kbps +- 224 Kbps +- 256 Kbps +- 320 Kbps +- +- +- +- VBR maximum bitrate +- vbr-max-bitrate +- 128 +- +- 8 Kbps +- 16 Kbps +- 24 Kbps +- 32 Kbps +- 40 Kbps +- 48 Kbps +- 56 Kbps +- 64 Kbps +- 80 Kbps +- 96 Kbps +- 112 Kbps +- 128 Kbps +- 160 Kbps +- 192 Kbps +- 224 Kbps +- 256 Kbps +- 320 Kbps +- +- +- ++ + Mode +- mode +- 4 ++ mono ++ 0 + +- <_value value="0">Stereo +- <_value value="1">Joint Stereo +- <_value value="2">Dual Channel +- <_value value="3">Mono +- <_value value="4">Auto ++ <_value value="0">Auto ++ <_value value="1">Mono + + + +diff -Naur gnac-0.2.4.1.orig/data/profiles/ui/gnac-profiles-aac.xml gnac-0.2.4.1/data/profiles/ui/gnac-profiles-aac.xml +--- gnac-0.2.4.1.orig/data/profiles/ui/gnac-profiles-aac.xml 2012-04-22 14:09:01.000000000 +0200 ++++ gnac-0.2.4.1/data/profiles/ui/gnac-profiles-aac.xml 2015-01-09 23:49:31.333045887 +0100 +@@ -1,6 +1,7 @@ + ++ + +- ++ + + True + False +@@ -26,84 +27,6 @@ + 5 + 10 + +- +- True +- False +- 0 +- Output format +- +- +- 0 +- 3 +- 1 +- 1 +- +- +- +- +- True +- False +- +- +- True +- False +- +- +- +- False +- False +- end +- 0 +- +- +- +- +- 1 +- 3 +- 1 +- 1 +- +- +- +- +- True +- False +- 0 +- Profile +- +- +- 0 +- 1 +- 1 +- 1 +- +- +- +- +- True +- False +- +- +- True +- False +- +- +- +- False +- False +- end +- 0 +- +- +- +- +- 1 +- 1 +- 1 +- 1 +- +- +- + + Temporal noise shaping + False +@@ -111,16 +34,14 @@ + True + False + True +- False + 0 + True + + + + 0 +- 2 ++ 1 + 2 +- 1 + + + +@@ -146,7 +67,6 @@ + 0 + 1 + 2 +- 1 + + + +@@ -170,8 +90,6 @@ + + 1 + 0 +- 1 +- 1 + + + +@@ -184,8 +102,6 @@ + + 0 + 0 +- 1 +- 1 + + + +diff -Naur gnac-0.2.4.1.orig/data/profiles/ui/gnac-profiles-lame.xml gnac-0.2.4.1/data/profiles/ui/gnac-profiles-lame.xml +--- gnac-0.2.4.1.orig/data/profiles/ui/gnac-profiles-lame.xml 2012-04-22 14:09:01.000000000 +0200 ++++ gnac-0.2.4.1/data/profiles/ui/gnac-profiles-lame.xml 2015-01-09 23:49:31.336379238 +0100 +@@ -1,6 +1,7 @@ + ++ + +- ++ + + 100 + 1 +@@ -10,9 +11,6 @@ + + 1 + +- +- 1 +- + + True + False +@@ -44,7 +42,7 @@ + True + False + +- ++ + True + False + +@@ -60,8 +58,6 @@ + + 1 + 1 +- 1 +- 1 + + + +@@ -74,133 +70,6 @@ + + 0 + 1 +- 1 +- 1 +- +- +- +- +- Mean bitrate +- False +- True +- True +- False +- False +- 0 +- True +- +- +- +- 0 +- 2 +- 1 +- 1 +- +- +- +- +- Min bitrate +- False +- True +- True +- False +- False +- 0 +- True +- +- +- +- 0 +- 3 +- 1 +- 1 +- +- +- +- +- Max bitrate +- False +- True +- True +- False +- False +- 0 +- True +- +- +- +- 0 +- 4 +- 1 +- 1 +- +- +- +- +- True +- False +- True +- adjustment1 +- 0 +- +- +- +- 1 +- 2 +- 1 +- 1 +- +- +- +- +- True +- False +- +- +- True +- False +- False +- +- +- +- False +- False +- end +- 0 +- +- +- +- +- 1 +- 3 +- 1 +- 1 +- +- +- +- +- True +- False +- +- +- True +- False +- False +- +- +- +- False +- False +- end +- 0 +- +- +- +- +- 1 +- 4 +- 1 +- 1 + + + +@@ -223,9 +92,8 @@ + + + 0 +- 6 ++ 3 + 2 +- 1 + + + +@@ -233,10 +101,10 @@ + True + False + +- ++ + True + False +- ++ + + + False +@@ -249,8 +117,6 @@ + + 1 + 0 +- 1 +- 1 + + + +@@ -274,47 +140,6 @@ + + 1 + 1 +- 1 +- 1 +- +- +- +- +- True +- False +- +- +- True +- False +- +- +- +- False +- False +- end +- 0 +- +- +- +- +- 1 +- 3 +- 1 +- 1 +- +- +- +- +- True +- False +- 0 +- Preset +- +- +- 0 +- 3 +- 1 +- 1 + + + +@@ -327,8 +152,6 @@ + + 0 + 2 +- 1 +- 1 + + + +@@ -336,13 +159,11 @@ + True + False + 0 +- Constant bitrate (CBR) ++ Bitrate + + + 0 + 1 +- 1 +- 1 + + + +@@ -350,13 +171,11 @@ + True + False + 0 +- Encoding mode ++ Target + + + 0 + 0 +- 1 +- 1 + + + +@@ -414,69 +233,12 @@ + + 1 + 2 +- 1 +- 1 +- +- +- +- +- True +- False +- 0 +- Average bitrate (ABR) +- +- +- 0 +- 4 +- 1 +- 1 +- +- +- +- +- True +- True +- adjustment1 +- 0 +- +- +- +- 1 +- 4 +- 1 +- 1 +- +- +- +- +- True +- False +- 0 +- Compression ratio +- +- +- 0 +- 5 +- 1 +- 1 +- +- +- +- +- True +- True +- adjustment3 +- 0 +- +- +- +- 1 +- 5 +- 1 +- 1 + + + + + ++ ++ 1 ++ + +diff -Naur gnac-0.2.4.1.orig/libgnac/libgnac-converter.c gnac-0.2.4.1/libgnac/libgnac-converter.c +--- gnac-0.2.4.1.orig/libgnac/libgnac-converter.c 2012-03-22 16:50:45.000000000 +0100 ++++ gnac-0.2.4.1/libgnac/libgnac-converter.c 2015-01-09 23:49:31.336379238 +0100 +@@ -1000,13 +1000,13 @@ + gint64 pos; + static GstFormat format = GST_FORMAT_TIME; + +- if (gst_element_query_position(item->pipeline, &format, &pos)) { ++ if (gst_element_query_position(item->pipeline, format, &pos)) { + if (pos != item->pos) { + gint64 len; + gfloat result = 0.0f; + guint64 time_left = 0; + +- if (gst_element_query_duration(item->pipeline, &format, &len)) { ++ if (gst_element_query_duration(item->pipeline, format, &len)) { + gfloat processed = priv->elapsed_duration + ((pos - len) / GST_SECOND); + result = CLAMP(processed / priv->total_duration, 0.0f, 1.0f); + /* XXX this is a workaround to prevent the remaining time +diff -Naur gnac-0.2.4.1.orig/libgnac/libgnac-error.c gnac-0.2.4.1/libgnac/libgnac-error.c +--- gnac-0.2.4.1.orig/libgnac/libgnac-error.c 2012-01-26 01:28:46.000000000 +0100 ++++ gnac-0.2.4.1/libgnac/libgnac-error.c 2015-01-09 23:49:31.336379238 +0100 +@@ -52,7 +52,7 @@ + gst_message_unref(msg); + if (!detail) return; + +- gchar *details[] = { detail, NULL }; ++ const gchar *details[] = { detail, NULL }; + GstInstallPluginsReturn ret = gst_install_plugins_async(details, NULL, + libgnac_converter_missing_plugin_result_cb, item->parent); + g_free(detail); +diff -Naur gnac-0.2.4.1.orig/libgnac/libgnac-gst.c gnac-0.2.4.1/libgnac/libgnac-gst.c +--- gnac-0.2.4.1.orig/libgnac/libgnac-gst.c 2012-02-28 12:26:06.000000000 +0100 ++++ gnac-0.2.4.1/libgnac/libgnac-gst.c 2015-01-09 23:49:31.336379238 +0100 +@@ -223,7 +223,7 @@ + + /* decodebin */ + GstElement *decodebin = libgnac_gstu_make_pipeline_element(item->pipeline, +- "decodebin2", NULL, &err); ++ "decodebin", NULL, &err); + if (err) { + g_propagate_error(error, err); + return; +@@ -382,7 +382,7 @@ + gpointer data) + { + LibgnacMediaItem *item = (LibgnacMediaItem *) data; +- GstCaps *caps = gst_pad_get_caps(pad); ++ GstCaps *caps = gst_pad_query_caps(pad, NULL); + + if (gst_caps_is_empty(caps) || gst_caps_is_any(caps)) { + libgnac_debug("Got a bad caps: %s", gst_caps_to_string(caps)); +diff -Naur gnac-0.2.4.1.orig/libgnac/libgnac-metadata.c gnac-0.2.4.1/libgnac/libgnac-metadata.c +--- gnac-0.2.4.1.orig/libgnac/libgnac-metadata.c 2012-03-27 15:51:09.000000000 +0200 ++++ gnac-0.2.4.1/libgnac/libgnac-metadata.c 2015-01-10 00:34:27.564874078 +0100 +@@ -209,11 +209,14 @@ + GstBuffer *buffer = gst_value_get_buffer(val); + g_return_if_fail(buffer); + ++ GstSample *sample = gst_value_get_sample(val); ++ g_return_if_fail(sample); ++ + gint image_type = GST_TAG_IMAGE_TYPE_NONE; + + /* GST_TAG_PREVIEW_IMAGE does not have an "image-type" field */ + if (g_str_equal(tag_name, GST_TAG_IMAGE)) { +- GstCaps *caps = GST_BUFFER_CAPS(buffer); ++ GstCaps *caps = gst_sample_get_caps(sample); + g_return_if_fail(caps); + + GstStructure *structure = gst_caps_get_structure(caps, 0); +@@ -231,8 +234,11 @@ + { + GdkPixbufLoader *loader = gdk_pixbuf_loader_new(); + GError *error = NULL; +- guint8 *data = GST_BUFFER_DATA(buffer); +- guint size = GST_BUFFER_SIZE(buffer); ++ GstMapInfo *info = NULL; ++ gst_buffer_map(buffer, info, GST_MAP_READ); ++ guint8 *data = info->data; ++ guint size = info->size; ++ gst_buffer_unmap(buffer, info); + + if (!gdk_pixbuf_loader_write(loader, data, size, &error)) { + libgnac_debug("Error writing data to pixbuf: %s", error->message); +@@ -297,8 +303,8 @@ + + if (g_str_equal(tag_name, GST_TAG_DATE)) + { +- g_return_if_fail(GST_VALUE_HOLDS_DATE(newval)); +- const GDate *date = gst_value_get_date(newval); ++ g_return_if_fail(G_VALUE_HOLDS(newval,G_TYPE_DATE)); ++ const GDate *date = g_value_get_boxed(newval); + if (!date) return; + GDateYear year = g_date_get_year(date); + g_value_unset(newval); +diff -Naur gnac-0.2.4.1.orig/src/gnac-options.c gnac-0.2.4.1/src/gnac-options.c +--- gnac-0.2.4.1.orig/src/gnac-options.c 2012-02-28 12:26:06.000000000 +0100 ++++ gnac-0.2.4.1/src/gnac-options.c 2015-01-09 23:49:31.339712589 +0100 +@@ -27,6 +27,7 @@ + #include "config.h" + #endif + ++#include + #include + #include + +diff -Naur gnac-0.2.4.1.orig/src/Makefile.am gnac-0.2.4.1/src/Makefile.am +--- gnac-0.2.4.1.orig/src/Makefile.am 2012-03-01 00:35:14.000000000 +0100 ++++ gnac-0.2.4.1/src/Makefile.am 2015-01-09 23:49:31.339712589 +0100 +@@ -73,6 +73,7 @@ + $(AM_CFLAGS) \ + $(GSTREAMER_CFLAGS) \ + $(GTK_CFLAGS) \ ++ $(LIBXML_CFLAGS) \ + $(NOTIFY_CFLAGS) \ + $(UNIQUE_CFLAGS) \ + $(WARN_CFLAGS) \ +@@ -82,6 +83,7 @@ + $(top_builddir)/libgnac/libgnac.la \ + $(GSTREAMER_LIBS) \ + $(GTK_LIBS) \ ++ $(LIBXML_LIBS) \ + $(NOTIFY_LIBS) \ + $(UNIQUE_LIBS) + +diff -Naur gnac-0.2.4.1.orig/src/profiles/formats/gnac-profiles-aac.c gnac-0.2.4.1/src/profiles/formats/gnac-profiles-aac.c +--- gnac-0.2.4.1.orig/src/profiles/formats/gnac-profiles-aac.c 2012-02-28 12:26:06.000000000 +0100 ++++ gnac-0.2.4.1/src/profiles/formats/gnac-profiles-aac.c 2015-01-10 01:03:33.835412850 +0100 +@@ -34,8 +34,6 @@ + AudioProfileGeneric *generic; + + gchar *bitrate; +- gchar *outputformat; +- gchar *profile; + gchar *tns; + } + AudioProfileAAC; +@@ -60,7 +58,6 @@ + gnac_profiles_aac_init(void) + { + GtkWidget *widget; +- GtkWidget *widget2; + + gnac_profiles_default_init(&aac_bfi); + +@@ -68,23 +65,12 @@ + gnac_profiles_utils_init_widget(&aac_bfi, "combo-bitrate", + "//variable[@id='bitrate']"); + +- // Profile +- widget = gnac_profiles_utils_init_widget(&aac_bfi, "combo-profile", +- "//variable[@id='profile']"); +- widget2 = gnac_profiles_utils_get_widget(&aac_bfi, "label-profile"), +- gnac_profiles_utils_add_description_tooltip(&aac_bfi, +- "//variable[@id='profile']/description", widget, widget2, NULL); +- + // Tns + widget = gnac_profiles_utils_init_widget(&aac_bfi, "checkbutton-tns", + "//variable[@id='tns']"); + gnac_profiles_utils_add_description_tooltip(&aac_bfi, + "//variable[@id='tns']/description", widget, NULL); + +- // Outputformat +- gnac_profiles_utils_init_widget(&aac_bfi, "combo-outputformat", +- "//variable[@id='outputformat']"); +- + gnac_profiles_xml_engine_free_doc_xpath(aac_bfi.doc); + aac_bfi.doc = NULL; + +@@ -97,11 +83,12 @@ + { + gchar *pipeline = gnac_profiles_default_generate_pipeline(&aac_bfi); + pipeline = gnac_profiles_utils_add_properties(pipeline, &aac_bfi, +- "combo-bitrate", "combo-outputformat", +- "combo-profile", "checkbutton-tns", NULL); ++ "combo-bitrate", "checkbutton-tns", NULL); + + gnac_profiles_properties_update_textbuffer(pipeline); + ++ pipeline = gnac_profiles_utils_add_pipe(pipeline, "audio/mpeg, mpegversion=4, stream-format=adts ! aacparse"); ++ + g_free(aac_bfi.pipeline); + + aac_bfi.pipeline = pipeline; +@@ -113,8 +100,7 @@ + { + gnac_profiles_default_reset_ui(&aac_bfi); + gnac_profiles_utils_reset_values(&aac_bfi, +- "combo-bitrate", "combo-outputformat", +- "combo-profile", "checkbutton-tns", NULL); ++ "combo-bitrate", "checkbutton-tns", NULL); + } + + +@@ -129,8 +115,6 @@ + AudioProfileAAC *profile = (AudioProfileAAC *) data; + gnac_profiles_utils_set_values(&aac_bfi, + "combo-bitrate", profile->bitrate, +- "combo-outputformat", profile->outputformat, +- "combo-profile", profile->profile, + "checkbutton-tns", profile->tns, + NULL); + } +@@ -153,8 +137,6 @@ + gnac_profiles_utils_free_audio_profile_generic(profile->generic); + + g_free(profile->bitrate); +- g_free(profile->outputformat); +- g_free(profile->profile); + g_free(profile->tns); + g_free(profile); + } +@@ -171,8 +153,6 @@ + + gnac_profiles_utils_get_values_and_set(&aac_bfi, + "combo-bitrate", &profile->bitrate, +- "combo-outputformat", &profile->outputformat, +- "combo-profile", &profile->profile, + "checkbutton-tns", &profile->tns, + NULL); + +@@ -196,8 +176,6 @@ + XMLDoc *doc = gnac_profiles_default_save_profile(profile->generic, &aac_bfi); + gnac_profiles_xml_engine_add_values(doc, + "bitrate", profile->bitrate, +- "outputformat", profile->outputformat, +- "profile", profile->profile, + "tns", profile->tns, + NULL); + gnac_profiles_xml_engine_save_doc(doc, profile->generic->name); +@@ -216,8 +194,6 @@ + gnac_profiles_utils_load_saved_profile(doc, + "/audio-profile/format-specific/", + "bitrate", &profile->bitrate, +- "outputformat", &profile->outputformat, +- "profile", &profile->profile, + "tns", &profile->tns, + NULL); + +@@ -230,8 +206,7 @@ + { + gnac_profiles_default_clean_up(&aac_bfi); + gnac_profiles_utils_free_values(&aac_bfi, +- "combo-bitrate", "combo-outputformat", +- "combo-profile", "checkbutton-tns", NULL); ++ "combo-bitrate", "checkbutton-tns", NULL); + gnac_profiles_utils_free_basic_format_info(&aac_bfi); + } + +diff -Naur gnac-0.2.4.1.orig/src/profiles/formats/gnac-profiles-lame.c gnac-0.2.4.1/src/profiles/formats/gnac-profiles-lame.c +--- gnac-0.2.4.1.orig/src/profiles/formats/gnac-profiles-lame.c 2012-02-28 12:26:06.000000000 +0100 ++++ gnac-0.2.4.1/src/profiles/formats/gnac-profiles-lame.c 2015-01-09 23:49:31.339712589 +0100 +@@ -33,26 +33,17 @@ + { + AudioProfileGeneric *generic; + +- gchar *encoding_mode; ++ gchar *target; + gdouble quality; +- gdouble compression_ratio; + gchar *bitrate; +- gchar *preset; +- gdouble mean_abr; +- gdouble mean_bitrate; +- gchar *min_bitrate; +- gchar *max_bitrate; +- gchar *mode; ++ gchar *mono; + } + AudioProfileLame; + + typedef enum { +- CONSTANT_BITRATE, +- AVERAGE_BITRATE, +- VARIABLE_BITRATE, +- PRESETS, +- COMPRESSION_RATIO +-} EncodingMode; ++ QUALITY, ++ BITRATE, ++} Target; + + BasicFormatInfo lame_bfi = { + PKGDATADIR "/profiles/gnac-profiles-lame.xml", +@@ -78,7 +69,7 @@ + + + void +-gnac_profiles_lame_on_encoding_mode_changed(GtkComboBox *widget, ++gnac_profiles_lame_on_target_changed(GtkComboBox *widget, + gpointer user_data) + { + gnac_profiles_lame_vbr_on_changed(widget); +@@ -90,7 +81,6 @@ + gnac_profiles_lame_init(void) + { + GtkWidget *widget; +- GtkWidget *widget2; + + gnac_profiles_default_init(&lame_bfi); + +@@ -102,42 +92,13 @@ + gnac_profiles_utils_init_widget(&lame_bfi, "slider-vbr-quality", + "//variable[@id='quality']"); + +- // Compression ratio +- widget = gnac_profiles_utils_init_widget(&lame_bfi, +- "slider-compression-ratio", "//variable[@id='compression-ratio']"); +- widget2 = gnac_profiles_utils_get_widget(&lame_bfi, +- "label-compression-ratio"); +- gnac_profiles_utils_add_description_tooltip(&lame_bfi, +- "//variable[@id='compression-ratio']/description", +- widget, widget2, NULL); +- +- // Preset +- gnac_profiles_utils_init_widget(&lame_bfi, "combo-preset", +- "//variable[@id='preset']"); +- +- // Abr bitrate +- gnac_profiles_utils_init_widget(&lame_bfi, "slider-mean-abr", +- "//variable[@id='mean-bitrate']"); +- + // Mode +- gnac_profiles_utils_init_widget(&lame_bfi, "combo-mode", +- "//variable[@id='mode']"); +- +- // Mean bitrate +- gnac_profiles_utils_init_widget(&lame_bfi, "slider-mean-vbr", +- "//variable[@id='mean-bitrate']"); ++ gnac_profiles_utils_init_widget(&lame_bfi, "combo-mono", ++ "//variable[@id='mono']"); + +- // Min bitrate +- gnac_profiles_utils_init_widget(&lame_bfi, "combo-min-vbr", +- "//variable[@id='min-bitrate']"); +- +- // Max bitrate +- gnac_profiles_utils_init_widget(&lame_bfi, "combo-max-vbr", +- "//variable[@id='max-bitrate']"); +- +- // Encoding mode +- widget = gnac_profiles_utils_init_widget(&lame_bfi, "combo-encoding-mode", +- "//variable[@id='encoding-mode']"); ++ // Target ++ widget = gnac_profiles_utils_init_widget(&lame_bfi, "combo-target", ++ "//variable[@id='target']"); + + gnac_profiles_lame_vbr_on_changed(GTK_COMBO_BOX(widget)); + +@@ -149,26 +110,6 @@ + + + static void +-gnac_profiles_lame_show_abr_widgets(gboolean show) +-{ +- GtkWidget *abr_widgets[] = { +- gnac_profiles_utils_get_widget(&lame_bfi, "label-mean-bitrate"), +- gnac_profiles_utils_get_widget(&lame_bfi, "slider-mean-abr"), +- gnac_profiles_utils_get_widget(&lame_bfi, "checkbutton-min-bitrate"), +- gnac_profiles_utils_get_widget(&lame_bfi, "combo-min-vbr"), +- gnac_profiles_utils_get_widget(&lame_bfi, "checkbutton-max-bitrate"), +- gnac_profiles_utils_get_widget(&lame_bfi, "combo-max-vbr") +- }; +- +- guint i; +- for (i = 0; i < G_N_ELEMENTS(abr_widgets); i++) { +- if (show) gtk_widget_show_all(abr_widgets[i]); +- else gtk_widget_hide(abr_widgets[i]); +- } +-} +- +- +-static void + gnac_profiles_lame_show_cbr_widgets(gboolean show) + { + GtkWidget *cbr_widgets[] = { +@@ -190,12 +131,6 @@ + GtkWidget *vbr_widgets[] = { + gnac_profiles_utils_get_widget(&lame_bfi, "label-vbr"), + gnac_profiles_utils_get_widget(&lame_bfi, "hbox-vbr"), +- gnac_profiles_utils_get_widget(&lame_bfi, "checkbutton-mean-bitrate"), +- gnac_profiles_utils_get_widget(&lame_bfi, "slider-mean-vbr"), +- gnac_profiles_utils_get_widget(&lame_bfi, "checkbutton-min-bitrate"), +- gnac_profiles_utils_get_widget(&lame_bfi, "combo-min-vbr"), +- gnac_profiles_utils_get_widget(&lame_bfi, "checkbutton-max-bitrate"), +- gnac_profiles_utils_get_widget(&lame_bfi, "combo-max-vbr") + }; + + guint i; +@@ -207,48 +142,12 @@ + + + static void +-gnac_profiles_lame_show_presets_widgets(gboolean show) +-{ +- GtkWidget *presets_widgets[] = { +- gnac_profiles_utils_get_widget(&lame_bfi, "label-preset"), +- gnac_profiles_utils_get_widget(&lame_bfi, "hbox-preset"), +- }; +- +- guint i; +- for (i = 0; i < G_N_ELEMENTS(presets_widgets); i++) { +- if (show) gtk_widget_show_all(presets_widgets[i]); +- else gtk_widget_hide(presets_widgets[i]); +- } +-} +- +- +-static void +-gnac_profiles_lame_show_compression_ratio_widgets(gboolean show) +-{ +- GtkWidget *compression_ratio_widgets[] = { +- gnac_profiles_utils_get_widget(&lame_bfi, "label-compression-ratio"), +- gnac_profiles_utils_get_widget(&lame_bfi, "slider-compression-ratio"), +- }; +- +- guint i; +- for (i = 0; i < G_N_ELEMENTS(compression_ratio_widgets); i++) { +- if (show) gtk_widget_show_all(compression_ratio_widgets[i]); +- else gtk_widget_hide(compression_ratio_widgets[i]); +- } +-} +- +- +-static void + gnac_profiles_lame_vbr_on_changed(GtkComboBox *widget) + { +- EncodingMode encoding_mode = gtk_combo_box_get_active(GTK_COMBO_BOX(widget)); ++ Target target = gtk_combo_box_get_active(GTK_COMBO_BOX(widget)); + +- gnac_profiles_lame_show_abr_widgets(encoding_mode == AVERAGE_BITRATE); +- gnac_profiles_lame_show_cbr_widgets(encoding_mode == CONSTANT_BITRATE); +- gnac_profiles_lame_show_vbr_widgets(encoding_mode == VARIABLE_BITRATE); +- gnac_profiles_lame_show_presets_widgets(encoding_mode == PRESETS); +- gnac_profiles_lame_show_compression_ratio_widgets( +- encoding_mode == COMPRESSION_RATIO); ++ gnac_profiles_lame_show_cbr_widgets(target == BITRATE); ++ gnac_profiles_lame_show_vbr_widgets(target == QUALITY); + } + + +@@ -257,54 +156,25 @@ + { + gchar *pipeline = gnac_profiles_default_generate_pipeline(&lame_bfi); + GtkWidget *widget = gnac_profiles_utils_get_widget(&lame_bfi, +- "combo-encoding-mode"); +- EncodingMode encoding_mode = gtk_combo_box_get_active(GTK_COMBO_BOX(widget)); ++ "combo-target"); ++ Target target = gtk_combo_box_get_active(GTK_COMBO_BOX(widget)); + + // Mode + pipeline = gnac_profiles_utils_add_properties(pipeline, &lame_bfi, +- "combo-mode", NULL); ++ "combo-mono", NULL); + +- switch (encoding_mode) ++ switch (target) + { +- case CONSTANT_BITRATE: ++ case BITRATE: + pipeline = gnac_profiles_utils_add_properties(pipeline, &lame_bfi, +- "combo-encoding-mode", "combo-bitrate", NULL); ++ "combo-target", "combo-bitrate", NULL); + break; + +- case AVERAGE_BITRATE: ++ case QUALITY: + pipeline = gnac_profiles_utils_add_properties(pipeline, &lame_bfi, +- "combo-encoding-mode", NULL); +- pipeline = gnac_profiles_utils_add_properties_slider(pipeline, &lame_bfi, +- "%.0f", "slider-mean-abr", NULL); +- pipeline = gnac_profiles_utils_add_properties_checked_combo(pipeline, +- &lame_bfi, +- "combo-min-vbr", "checkbutton-min-bitrate", +- "combo-max-vbr", "checkbutton-max-bitrate", +- NULL); +- break; +- +- case VARIABLE_BITRATE: +- pipeline = gnac_profiles_utils_add_properties(pipeline, &lame_bfi, +- "combo-encoding-mode", NULL); ++ "combo-target", NULL); + pipeline = gnac_profiles_utils_add_properties_slider(pipeline, &lame_bfi, + "%.0f", "slider-vbr-quality", NULL); +- pipeline = gnac_profiles_utils_add_properties_checked_slider(pipeline, +- &lame_bfi, "slider-mean-vbr", "checkbutton-mean-bitrate", NULL); +- pipeline = gnac_profiles_utils_add_properties_checked_combo(pipeline, +- &lame_bfi, +- "combo-min-vbr", "checkbutton-min-bitrate", +- "combo-max-vbr", "checkbutton-max-bitrate", +- NULL); +- break; +- +- case PRESETS: +- pipeline = gnac_profiles_utils_add_properties(pipeline, &lame_bfi, +- "combo-preset", NULL); +- break; +- +- case COMPRESSION_RATIO: +- pipeline = gnac_profiles_utils_add_properties_slider(pipeline, &lame_bfi, +- "%.0f", "slider-compression-ratio", NULL); + break; + + default: +@@ -321,26 +191,12 @@ + } + + +-void +-gnac_profiles_lame_advanced_bitrate_on_toggle(GtkWidget *widget, +- GtkToggleButton *togglebutton) +-{ +- gnac_profiles_utils_on_toggle_optionnal_property(togglebutton, widget); +- gnac_profiles_lame_generate_pipeline(); +-} +- +- + static void + gnac_profiles_lame_reset_ui(void) + { + gnac_profiles_utils_reset_values(&lame_bfi, +- "combo-mode", "combo-bitrate", "combo-min-vbr", "combo-max-vbr", +- "combo-preset", "combo-encoding-mode", "slider-vbr-quality", +- "slider-compression-ratio", "slider-mean-vbr", "slider-mean-abr", ++ "combo-mono", "combo-bitrate", "combo-target", "slider-vbr-quality", + NULL); +- gnac_profiles_utils_set_active_toggle_button(&lame_bfi, FALSE, +- "checkbutton-mean-bitrate", "checkbutton-min-bitrate", +- "checkbutton-max-bitrate", NULL); + } + + +@@ -354,42 +210,18 @@ + + AudioProfileLame *profile = (AudioProfileLame *) data; + gnac_profiles_utils_set_values(&lame_bfi, +- "combo-encoding-mode", profile->encoding_mode, +- "combo-mode", profile->mode, NULL); ++ "combo-target", profile->target, ++ "combo-mono", profile->mono, NULL); + + if (profile->bitrate) + { + gnac_profiles_utils_set_values(&lame_bfi, + "combo-bitrate", profile->bitrate, NULL); + } +- else if (profile->preset) +- { +- gnac_profiles_utils_set_values(&lame_bfi, +- "combo-preset", profile->preset, NULL); +- } +- else if (profile->mean_abr != -1) +- { +- gnac_profiles_utils_set_values(&lame_bfi, +- "slider-mean-abr", profile->mean_abr, NULL); +- gnac_profiles_utils_set_values_checked(&lame_bfi, +- "combo-min-vbr", "checkbutton-min-bitrate", profile->min_bitrate, +- "combo-max-vbr", "checkbutton-max-bitrate", profile->max_bitrate, +- NULL); +- } + else if (profile->quality != -1) + { + gnac_profiles_utils_set_values(&lame_bfi, + "slider-vbr-quality", profile->quality, NULL); +- gnac_profiles_utils_set_values_checked(&lame_bfi, +- "combo-min-vbr", "checkbutton-min-bitrate", profile->min_bitrate, +- "combo-max-vbr", "checkbutton-max-bitrate", profile->max_bitrate, +- "slider-mean-vbr", "checkbutton-mean-bitrate", profile->mean_bitrate, +- NULL); +- } +- else if (profile->compression_ratio != -1) +- { +- gnac_profiles_utils_set_values(&lame_bfi, +- "slider-compression-ratio", profile->compression_ratio, NULL); + } + } + +@@ -406,16 +238,10 @@ + { + AudioProfileLame *profile = g_malloc(sizeof(AudioProfileLame)); + +- profile->encoding_mode = NULL; +- profile->mode = NULL; ++ profile->target = NULL; ++ profile->mono = NULL; + profile->bitrate = NULL; +- profile->preset = NULL; + profile->quality = -1; +- profile->compression_ratio = -1; +- profile->mean_bitrate = -1; +- profile->mean_abr = -1; +- profile->min_bitrate = NULL; +- profile->max_bitrate = NULL; + + return profile; + } +@@ -428,12 +254,9 @@ + + AudioProfileLame *profile = (AudioProfileLame *) data; + gnac_profiles_utils_free_audio_profile_generic(profile->generic); +- g_free(profile->encoding_mode); +- g_free(profile->mode); ++ g_free(profile->target); ++ g_free(profile->mono); + g_free(profile->bitrate); +- g_free(profile->min_bitrate); +- g_free(profile->max_bitrate); +- g_free(profile->preset); + g_free(profile); + } + +@@ -447,49 +270,23 @@ + profile->generic = generic; + + gnac_profiles_utils_get_values_and_set(&lame_bfi, +- "combo-encoding-mode", &profile->encoding_mode, +- "combo-mode", &profile->mode, ++ "combo-target", &profile->target, ++ "combo-mono", &profile->mono, + NULL); + + GtkWidget *widget = gnac_profiles_utils_get_widget(&lame_bfi, +- "combo-encoding-mode"); ++ "combo-target"); + + switch (gtk_combo_box_get_active(GTK_COMBO_BOX(widget))) + { +- case CONSTANT_BITRATE: ++ case BITRATE: + gnac_profiles_utils_get_values_and_set(&lame_bfi, + "combo-bitrate", &profile->bitrate, NULL); + break; + +- case AVERAGE_BITRATE: +- gnac_profiles_utils_get_values_and_set(&lame_bfi, +- "slider-mean-abr", &profile->mean_abr, NULL); +- gnac_profiles_utils_get_values_checked_combo_and_set(&lame_bfi, +- "combo-min-vbr", "checkbutton-min-bitrate", &profile->min_bitrate, +- "combo-max-vbr", "checkbutton-max-bitrate", &profile->max_bitrate, +- NULL ); +- break; +- +- case VARIABLE_BITRATE: ++ case QUALITY: + gnac_profiles_utils_get_values_and_set(&lame_bfi, + "slider-vbr-quality", &profile->quality, NULL); +- gnac_profiles_utils_get_values_checked_slider_and_set(&lame_bfi, +- "slider-mean-vbr", "checkbutton-mean-bitrate", &profile->mean_bitrate, +- NULL); +- gnac_profiles_utils_get_values_checked_combo_and_set(&lame_bfi, +- "combo-min-vbr", "checkbutton-min-bitrate", &profile->min_bitrate, +- "combo-max-vbr", "checkbutton-max-bitrate", &profile->max_bitrate, +- NULL ); +- break; +- +- case PRESETS: +- gnac_profiles_utils_get_values_and_set(&lame_bfi, +- "combo-preset", &profile->preset, NULL); +- break; +- +- case COMPRESSION_RATIO: +- gnac_profiles_utils_get_values_and_set(&lame_bfi, +- "slider-compression-ratio", &profile->compression_ratio, NULL); + break; + + default: +@@ -513,49 +310,25 @@ + if (!data) return; + + gchar *quality = NULL; +- gchar *mean_bitrate = NULL; +- gchar *mean_abr = NULL; +- gchar *compression_ratio = NULL; + AudioProfileLame *profile = (AudioProfileLame *) data; + + if (profile->quality != -1) + { + quality = gnac_profiles_utils_gdouble_to_gchararray(profile->quality); +- +- if (profile->mean_bitrate != -1) { +- mean_bitrate = gnac_profiles_utils_gdouble_to_gchararray( +- profile->mean_bitrate); +- } +- } +- else if (profile->mean_abr != -1) +- { +- mean_abr = gnac_profiles_utils_gdouble_to_gchararray(profile->mean_abr); +- } +- else if (profile->compression_ratio != -1) { +- compression_ratio = gnac_profiles_utils_gdouble_to_gchararray( +- profile->compression_ratio); + } + + XMLDoc *doc = gnac_profiles_default_save_profile(profile->generic, &lame_bfi); + gnac_profiles_xml_engine_add_values(doc, +- "encoding-mode", profile->encoding_mode, ++ "target", profile->target, + "bitrate", profile->bitrate, + "quality", quality, +- "compression-ratio", compression_ratio, +- "preset", profile->preset, +- "mean-abr", mean_abr, +- "mean-bitrate", mean_bitrate, +- "min-bitrate", profile->min_bitrate, +- "max-bitrate", profile->max_bitrate, +- "mode", profile->mode, ++ "mono", profile->mono, + NULL); + + gnac_profiles_xml_engine_save_doc(doc, profile->generic->name); + + gnac_profiles_xml_engine_free_doc_xpath(doc); + g_free(quality); +- g_free(mean_bitrate); +- g_free(compression_ratio); + } + + +@@ -564,42 +337,20 @@ + AudioProfileGeneric *generic) + { + gchar *quality; +- gchar *mean_bitrate; +- gchar *mean_abr; +- gchar *compression_ratio; + + AudioProfileLame *profile = gnac_profiles_lame_audio_profile_new(); + profile->generic = generic; + gnac_profiles_utils_load_saved_profile(doc, + "/audio-profile/format-specific/", +- "encoding-mode", &profile->encoding_mode, ++ "target", &profile->target, + "bitrate", &profile->bitrate, + "quality", &quality, +- "compression-ratio", &compression_ratio, +- "preset", &profile->preset, +- "mean-abr", &mean_abr, +- "mean-bitrate", &mean_bitrate, +- "min-bitrate", &profile->min_bitrate, +- "max-bitrate", &profile->max_bitrate, +- "mode", &profile->mode, ++ "mono", &profile->mono, + NULL); + + if (quality) { + profile->quality = gnac_profiles_utils_gchararray_to_gdouble(quality); + g_free(quality); +- +- if (mean_bitrate) { +- profile->mean_bitrate = gnac_profiles_utils_gchararray_to_gdouble( +- mean_bitrate); +- g_free(mean_bitrate); +- } +- } else if (mean_abr) { +- profile->mean_abr = gnac_profiles_utils_gchararray_to_gdouble(mean_abr); +- g_free(mean_abr); +- } else if (compression_ratio) { +- profile->compression_ratio = gnac_profiles_utils_gchararray_to_gdouble( +- compression_ratio); +- g_free(compression_ratio); + } + + return profile; +@@ -611,9 +362,7 @@ + { + gnac_profiles_default_clean_up(&lame_bfi); + gnac_profiles_utils_free_values(&lame_bfi, +- "combo-mode", "combo-bitrate", "combo-min-vbr", "combo-max-vbr", +- "combo-preset", "combo-encoding-mode", "slider-vbr-quality", +- "slider-compression-ratio", "slider-mean-vbr", "slider-mean-abr", ++ "combo-mono", "combo-bitrate", "combo-target", "slider-vbr-quality", + NULL); + gnac_profiles_utils_free_basic_format_info(&lame_bfi); + } +diff -Naur gnac-0.2.4.1.orig/src/profiles/formats/gnac-profiles-lame.h gnac-0.2.4.1/src/profiles/formats/gnac-profiles-lame.h +--- gnac-0.2.4.1.orig/src/profiles/formats/gnac-profiles-lame.h 2012-01-26 01:28:46.000000000 +0100 ++++ gnac-0.2.4.1/src/profiles/formats/gnac-profiles-lame.h 2015-01-09 23:49:31.343045941 +0100 +@@ -37,8 +37,8 @@ + gnac_profiles_lame_generate_pipeline(void); + + void +-gnac_profiles_lame_on_encoding_mode_changed(GtkComboBox *widget, +- gpointer user_data); ++gnac_profiles_lame_on_target_changed(GtkComboBox *widget, ++ gpointer user_data); + + void + gnac_profiles_lame_advanced_bitrate_on_toggle(GtkWidget *widget, +diff -Naur gnac-0.2.4.1.orig/src/profiles/formats/gnac-profiles-unknown.c gnac-0.2.4.1/src/profiles/formats/gnac-profiles-unknown.c +--- gnac-0.2.4.1.orig/src/profiles/formats/gnac-profiles-unknown.c 2012-02-27 11:27:10.000000000 +0100 ++++ gnac-0.2.4.1/src/profiles/formats/gnac-profiles-unknown.c 2015-01-09 23:49:31.343045941 +0100 +@@ -49,7 +49,7 @@ + }; + + const gchar *base_pipeline = +- "audioconvert ! audio/x-raw-float, rate=44100, channels=2 ! audioconvert !"; ++ "audioconvert ! audio/x-raw, rate=44100, channels=2 ! audioconvert !"; + + static GtkTextView *pipeline_text_view; + static GtkWidget *pipeline_box; +diff -Naur gnac-0.2.4.1.orig/src/profiles/gnac-profiles-default.c gnac-0.2.4.1/src/profiles/gnac-profiles-default.c +--- gnac-0.2.4.1.orig/src/profiles/gnac-profiles-default.c 2012-04-22 14:09:01.000000000 +0200 ++++ gnac-0.2.4.1/src/profiles/gnac-profiles-default.c 2015-01-09 23:49:31.343045941 +0100 +@@ -23,6 +23,7 @@ + * Boston, MA 02110-1301 USA + */ + ++#include + #include + + #include "gnac-main.h" diff --git a/srcpkgs/gnac/template b/srcpkgs/gnac/template index 30b5ecdf97e..5cde5d8b90d 100644 --- a/srcpkgs/gnac/template +++ b/srcpkgs/gnac/template @@ -1,13 +1,15 @@ # Template file for 'gnac' pkgname=gnac version=0.2.4.1 -revision=1 +revision=2 +patch_args="-Np1" build_style=gnu-configure -hostmakedepends="which pkg-config intltool gnome-doc-utils glib-devel" -makedepends="libxml2-devel gtk+3-devel gst-plugins-base-devel libunique-devel - libnotify-devel gst-plugins-good gst-plugins-bad gst-plugins-ugly +hostmakedepends="gnome-common gettext-devel pkg-config intltool libtool + gnome-doc-utils glib-devel" +makedepends="libxml2-devel gtk+3-devel gst-plugins-base1-devel libunique-devel + libnotify-devel gst-plugins-good1 gst-plugins-bad1 gst-plugins-ugly1 desktop-file-utils hicolor-icon-theme" -depends="gst-plugins-good gst-plugins-bad gst-plugins-ugly +depends="gst-plugins-good1 gst-plugins-bad1 gst-plugins-ugly1 desktop-file-utils hicolor-icon-theme" configure_args="--disable-scrollkeeper --disable-schemas-compile" short_desc="Audio conversion program for the Gnome desktop" @@ -16,4 +18,9 @@ license="GPL-3" homepage="http://gnac.sourceforge.net" distfiles="${SOURCEFORGE_SITE}/$pkgname/$pkgname-$version.tar.bz2" checksum=8f9c4731bbc40fde57c311a2a7fabe4e3200198abfe7415c659b98a2d54869da +CFLAGS="-fPIC" +pre_configure() { + autoreconf -fi + intltoolize --force +}