diff options
author | Hanno Boeck <hanno@gentoo.org> | 2006-11-01 16:44:35 +0000 |
---|---|---|
committer | Hanno Boeck <hanno@gentoo.org> | 2006-11-01 16:44:35 +0000 |
commit | 9a3286a9b2f46d826cdca548a03b250afa6f706a (patch) | |
tree | 99e1dc2c7f7f8410732f8ae3b0e287db421b6008 /media-plugins | |
parent | Remove mask on libcdio, as that version is now bumped to 0.78.2. (diff) | |
download | historical-9a3286a9b2f46d826cdca548a03b250afa6f706a.tar.gz historical-9a3286a9b2f46d826cdca548a03b250afa6f706a.tar.bz2 historical-9a3286a9b2f46d826cdca548a03b250afa6f706a.zip |
fix bug with audio volume in a52dec
Package-Manager: portage-2.1.2_rc1-r2
Diffstat (limited to 'media-plugins')
5 files changed, 255 insertions, 8 deletions
diff --git a/media-plugins/gst-plugins-a52dec/ChangeLog b/media-plugins/gst-plugins-a52dec/ChangeLog index d1f59ff3faee..0c5a7f93d950 100644 --- a/media-plugins/gst-plugins-a52dec/ChangeLog +++ b/media-plugins/gst-plugins-a52dec/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-plugins/gst-plugins-a52dec # Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-a52dec/ChangeLog,v 1.66 2006/10/06 16:57:03 zaheerm Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-a52dec/ChangeLog,v 1.67 2006/11/01 16:44:35 hanno Exp $ + +*gst-plugins-a52dec-0.10.4-r1 (01 Nov 2006) + + 01 Nov 2006; Hanno Boeck <hanno@gentoo.org> + +files/gsta52-audio-volume.patch, +gst-plugins-a52dec-0.10.4-r1.ebuild: + Add patch to fix bug with audio volume control (needed for thoggen). 06 Oct 2006; Zaheer Abbas Merali <zaheerm@gentoo.org> ChangeLog: version bump diff --git a/media-plugins/gst-plugins-a52dec/Manifest b/media-plugins/gst-plugins-a52dec/Manifest index 654eff0bd7ea..6e3f5c7b2dc9 100644 --- a/media-plugins/gst-plugins-a52dec/Manifest +++ b/media-plugins/gst-plugins-a52dec/Manifest @@ -1,6 +1,10 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 +AUX gsta52-audio-volume.patch 6370 RMD160 144c4256971d9102a999be9cefdfd8f61d58460c SHA1 d35e682317fc6ec67fdaa2f71f653c453651c644 SHA256 ea62cecb030b88942d12400db0e550d642816d5d3ff16330c0e0a8260c8dedc5 +MD5 e655f3e48113702ecc76b0fb5f5cf162 files/gsta52-audio-volume.patch 6370 +RMD160 144c4256971d9102a999be9cefdfd8f61d58460c files/gsta52-audio-volume.patch 6370 +SHA256 ea62cecb030b88942d12400db0e550d642816d5d3ff16330c0e0a8260c8dedc5 files/gsta52-audio-volume.patch 6370 DIST gst-plugins-0.8.10.tar.bz2 2397528 RMD160 fb59c37aef76b9cc065530fc4a7e7fe43168e619 SHA1 99e5746d4f013fc00cd29a59f9aab773db08ab1c SHA256 c5c8359f6ff8bc594cdadbb38863a8180c52de1edce74ad2fd698b9d4c6fef7c DIST gst-plugins-0.8.11.tar.bz2 2439654 RMD160 833aec123a52cd0f36ec883c349cc8d69090d749 SHA1 4a9be6b62dd0e8a73616e8e93f7a3ace8aec8c59 SHA256 0e48eef1d3bfa2263c1047f9f84622a4e16e33d963252cb8153ff1b340c4ba90 DIST gst-plugins-0.8.12.tar.bz2 2506926 RMD160 cc0bbf3d790cb5791ce982fe6493bf2d8496a507 SHA1 3b65fe96aa849c463f5f968830ad76143c4b9952 SHA256 8728da4f71bc87e10fb064d28154220d66a3d8332482fd2c8a7ed47c5f0a03ba @@ -10,6 +14,10 @@ EBUILD gst-plugins-a52dec-0.10.3.ebuild 449 RMD160 49ac9e3b92f416202e3ba4570aa47 MD5 e4c055c77ac2721ae496c8e9f079a82a gst-plugins-a52dec-0.10.3.ebuild 449 RMD160 49ac9e3b92f416202e3ba4570aa47b68c9aa4427 gst-plugins-a52dec-0.10.3.ebuild 449 SHA256 3526c123f61e5a6d11445c0c7d3589dab4649fdc8dc98fd794ca4d1b1e989810 gst-plugins-a52dec-0.10.3.ebuild 449 +EBUILD gst-plugins-a52dec-0.10.4-r1.ebuild 583 RMD160 5fc9a30bb080bf0a9865a9ac67148e5cf5426b5d SHA1 1027f66e832c31fbc694d6c1bec31d0cf126598b SHA256 b5e60f772e464dc8d1a48523cf0118aae783889c0df6a75a6b1002857a14a2f6 +MD5 04c77181e3bc321b97537f0926ab4675 gst-plugins-a52dec-0.10.4-r1.ebuild 583 +RMD160 5fc9a30bb080bf0a9865a9ac67148e5cf5426b5d gst-plugins-a52dec-0.10.4-r1.ebuild 583 +SHA256 b5e60f772e464dc8d1a48523cf0118aae783889c0df6a75a6b1002857a14a2f6 gst-plugins-a52dec-0.10.4-r1.ebuild 583 EBUILD gst-plugins-a52dec-0.10.4.ebuild 458 RMD160 1b6b566809f9ece08911dd4c45151e8542cde84d SHA1 5b42648fd99e6e54dececce8583d6123b0813837 SHA256 8d1645b1d967ea2eea3fa38216b215b70d774ab931c0b962fd2ee3b29fd81a76 MD5 06779a7c0bd28d756a4c7ee7ca33e4fb gst-plugins-a52dec-0.10.4.ebuild 458 RMD160 1b6b566809f9ece08911dd4c45151e8542cde84d gst-plugins-a52dec-0.10.4.ebuild 458 @@ -26,10 +34,10 @@ EBUILD gst-plugins-a52dec-0.8.12.ebuild 385 RMD160 32d4a3becc82e9c4dc98c03179427 MD5 67b8a6a80625727183b3bb647a88f4d1 gst-plugins-a52dec-0.8.12.ebuild 385 RMD160 32d4a3becc82e9c4dc98c03179427e9342855069 gst-plugins-a52dec-0.8.12.ebuild 385 SHA256 e02604ff3411991cb4eda4c9e532303e0f1be27916b6d61a781295be80502042 gst-plugins-a52dec-0.8.12.ebuild 385 -MISC ChangeLog 7780 RMD160 b98936dd97de0191d738106c44f78e0a104d015a SHA1 c597fb681bfe095915ea9d9fb1d3513c0ddc5336 SHA256 64173c6ecaef11ba05a8cf24553ef2a2e32a1ad07c0526c52aff29192c6f18b2 -MD5 e487d4c57968b3001748fd9d27b5f243 ChangeLog 7780 -RMD160 b98936dd97de0191d738106c44f78e0a104d015a ChangeLog 7780 -SHA256 64173c6ecaef11ba05a8cf24553ef2a2e32a1ad07c0526c52aff29192c6f18b2 ChangeLog 7780 +MISC ChangeLog 8015 RMD160 11872043c8e3665353be8ca2141519e52ce7348e SHA1 32dbb45f87587d7b8978ea7014992780379fbcc8 SHA256 14ff6a270dfcc275ca069bd398e5f411b10ae0da32e74cdc393fcb88fcbf7b42 +MD5 250a4ad70957f20c4cacd64ff091a9ae ChangeLog 8015 +RMD160 11872043c8e3665353be8ca2141519e52ce7348e ChangeLog 8015 +SHA256 14ff6a270dfcc275ca069bd398e5f411b10ae0da32e74cdc393fcb88fcbf7b42 ChangeLog 8015 MISC metadata.xml 181 RMD160 51814fbdcf7f32cfe70018b3af7fc798e41ff90d SHA1 faf40c45bd66b0072b95556cf7ab097d3be19511 SHA256 22c215902ccdc7fd8cdb765750fb23ea9d9b6c9d3edb1b45325c3469f8f6ffc5 MD5 6cf6f97e79b43eaf70fa938c431342a3 metadata.xml 181 RMD160 51814fbdcf7f32cfe70018b3af7fc798e41ff90d metadata.xml 181 @@ -40,6 +48,9 @@ SHA256 cfe9c819ee2ccf7ad84b195685cb2976e912906830bd24d488b21b4ef690f472 files/di MD5 d935d4ce6cfdd13f1bbf5250ffd100b4 files/digest-gst-plugins-a52dec-0.10.4 274 RMD160 dec1a476aa0df1f41f29c4641bfa7299cc9fb777 files/digest-gst-plugins-a52dec-0.10.4 274 SHA256 7f432695e33fb8a908b0a2494e7b00fca2c66085160d120f8617cf8c31210151 files/digest-gst-plugins-a52dec-0.10.4 274 +MD5 d935d4ce6cfdd13f1bbf5250ffd100b4 files/digest-gst-plugins-a52dec-0.10.4-r1 274 +RMD160 dec1a476aa0df1f41f29c4641bfa7299cc9fb777 files/digest-gst-plugins-a52dec-0.10.4-r1 274 +SHA256 7f432695e33fb8a908b0a2494e7b00fca2c66085160d120f8617cf8c31210151 files/digest-gst-plugins-a52dec-0.10.4-r1 274 MD5 eaba7cd988c45174c3c20aebd8c4a8bd files/digest-gst-plugins-a52dec-0.8.10 262 RMD160 ee0674f71e5e46e925c101e8e5d76fb49260df19 files/digest-gst-plugins-a52dec-0.8.10 262 SHA256 a93903467a58b51b55338d1dba64d4cea56cb0ab65884a9fd58798f44d4e9680 files/digest-gst-plugins-a52dec-0.8.10 262 @@ -52,7 +63,7 @@ SHA256 bac5ba90fbb314a2f7ea2a53506021944ec1b8707b20d47545a23a6fd5f4cefd files/di -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) -iD8DBQFFMVUfamhnQswr0vIRApgDAJ4xbgrdIQMgxIYJ2eMUS9GFgs4S7QCfUW5b -K4t3Wq7gg7syuwdcgAFeWTk= -=KCK+ +iD8DBQFFSM8Cr2QksT29OyARAhZpAJ4/ItrhBl9uAZQiQmjEHzHSAD+thQCdHeRC +wdvI32FQbExPvfACe/4TeNY= +=w6sF -----END PGP SIGNATURE----- diff --git a/media-plugins/gst-plugins-a52dec/files/digest-gst-plugins-a52dec-0.10.4-r1 b/media-plugins/gst-plugins-a52dec/files/digest-gst-plugins-a52dec-0.10.4-r1 new file mode 100644 index 000000000000..aebedd2db84a --- /dev/null +++ b/media-plugins/gst-plugins-a52dec/files/digest-gst-plugins-a52dec-0.10.4-r1 @@ -0,0 +1,3 @@ +MD5 c10f40e3641d827ca7853b0a3d560257 gst-plugins-ugly-0.10.4.tar.bz2 720893 +RMD160 0651853d7d36bda9d267ca3cecfb6cead95a3e6e gst-plugins-ugly-0.10.4.tar.bz2 720893 +SHA256 4871c52b2421b582330a0f9dc6a42da3b706140c346aa0cd690eb40758afe152 gst-plugins-ugly-0.10.4.tar.bz2 720893 diff --git a/media-plugins/gst-plugins-a52dec/files/gsta52-audio-volume.patch b/media-plugins/gst-plugins-a52dec/files/gsta52-audio-volume.patch new file mode 100644 index 000000000000..50139c6e0da5 --- /dev/null +++ b/media-plugins/gst-plugins-a52dec/files/gsta52-audio-volume.patch @@ -0,0 +1,207 @@ +diff -Naur gst-plugins-ugly-0.10.4-orig/ext/a52dec/gsta52dec.c gst-plugins-ugly-0.10.4/ext/a52dec/gsta52dec.c +--- gst-plugins-ugly-0.10.4-orig/ext/a52dec/gsta52dec.c 2006-11-01 17:38:01.647477958 +0100 ++++ gst-plugins-ugly-0.10.4/ext/a52dec/gsta52dec.c 2006-11-01 17:38:07.821539358 +0100 +@@ -58,7 +58,9 @@ + enum + { + ARG_0, +- ARG_DRC ++ ARG_DRC, ++ ARG_MODE, ++ ARG_LFE, + }; + + static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink", +@@ -94,6 +96,30 @@ + + static GstElementClass *parent_class = NULL; + ++#define GST_TYPE_A52DEC_MODE (gst_a52dec_mode_get_type()) ++static GType ++gst_a52dec_mode_get_type (void) ++{ ++ static GType a52dec_mode_type = 0; ++ static const GEnumValue a52dec_modes[] = { ++ {A52_MONO, "Mono", "mono"}, ++ {A52_STEREO, "Stereo", "stereo"}, ++ {A52_3F, "3 Front", "3f"}, ++ {A52_2F1R, "2 Front, 1 Rear", "2f1r"}, ++ {A52_3F1R, "3 Front, 1 Rear", "3f1r"}, ++ {A52_2F2R, "2 Front, 2 Rear", "2f2r"}, ++ {A52_3F2R, "3 Front, 2 Rear", "3f2r"}, ++ {A52_DOLBY, "Dolby", "dolby"}, ++ {0, NULL, NULL}, ++ }; ++ ++ if (!a52dec_mode_type) { ++ a52dec_mode_type = g_enum_register_static ("GstA52DecMode", a52dec_modes); ++ } ++ return a52dec_mode_type; ++} ++ ++ + GType + gst_a52dec_get_type (void) + { +@@ -153,6 +179,11 @@ + g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DRC, + g_param_spec_boolean ("drc", "Dynamic Range Compression", + "Use Dynamic Range Compression", FALSE, G_PARAM_READWRITE)); ++ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MODE, ++ g_param_spec_enum ("mode", "Decoder Mode", "Decoding Mode (default 3f2r)", ++ GST_TYPE_A52DEC_MODE, A52_3F2R, G_PARAM_READWRITE)); ++ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LFE, ++ g_param_spec_boolean ("lfe", "LFE", "LFE", TRUE, G_PARAM_READWRITE)); + + oil_init (); + +@@ -191,6 +222,7 @@ + gst_pad_use_fixed_caps (a52dec->srcpad); + gst_element_add_pad (GST_ELEMENT (a52dec), a52dec->srcpad); + ++ a52dec->request_channels = A52_CHANNEL; + a52dec->dynamic_range_compression = FALSE; + a52dec->cache = NULL; + } +@@ -268,6 +300,12 @@ + } + chans += 2; + break; ++ case A52_MONO: ++ if (pos) { ++ pos[0 + chans] = GST_AUDIO_CHANNEL_POSITION_FRONT_MONO; ++ } ++ chans += 1; ++ break; + default: + /* error, caller should post error message */ + g_free (pos); +@@ -441,6 +479,49 @@ + gst_a52dec_update_streaminfo (a52dec); + } + ++ /* If we haven't had an explicit number of channels chosen through properties ++ * at this point, choose what to downmix to now, based on what the peer will ++ * accept - this allows a52dec to do downmixing in preference to a ++ * downstream element such as audioconvert. ++ */ ++ if (a52dec->request_channels == A52_CHANNEL) { ++ GstCaps *caps; ++ ++ caps = gst_pad_get_allowed_caps (a52dec->srcpad); ++ if (caps && gst_caps_get_size (caps) > 0) { ++ GstCaps *copy = gst_caps_copy_nth (caps, 0); ++ GstStructure *structure = gst_caps_get_structure (copy, 0); ++ gint channels; ++ const int a52_channels[6] = { ++ A52_MONO, ++ A52_STEREO, ++ A52_STEREO | A52_LFE, ++ A52_2F2R, ++ A52_2F2R | A52_LFE, ++ A52_3F2R | A52_LFE, ++ }; ++ ++ /* Prefer the original number of channels, but fixate to something ++ * preferred (first in the caps) downstream if possible. ++ */ ++ gst_structure_fixate_field_nearest_int (structure, "channels", ++ flags ? gst_a52dec_channels (flags, NULL) : 6); ++ gst_structure_get_int (structure, "channels", &channels); ++ if (channels <= 6) ++ a52dec->request_channels = a52_channels[channels - 1]; ++ else ++ a52dec->request_channels = a52_channels[5]; ++ ++ gst_caps_unref (copy); ++ } else if (flags) ++ a52dec->request_channels = a52dec->stream_channels; ++ else ++ a52dec->request_channels = A52_3F2R | A52_LFE; ++ ++ if (caps) ++ gst_caps_unref (caps); ++ } ++ + /* process */ + flags = a52dec->request_channels; /* | A52_ADJUST_LEVEL; */ + a52dec->level = 1; +@@ -681,7 +762,6 @@ + a52dec->bit_rate = -1; + a52dec->sample_rate = -1; + a52dec->stream_channels = A52_CHANNEL; +- a52dec->request_channels = A52_3F2R | A52_LFE; + a52dec->using_channels = A52_CHANNEL; + a52dec->level = 1; + a52dec->bias = 0; +@@ -729,6 +809,18 @@ + src->dynamic_range_compression = g_value_get_boolean (value); + GST_OBJECT_UNLOCK (src); + break; ++ case ARG_MODE: ++ GST_OBJECT_LOCK (src); ++ src->request_channels &= ~A52_CHANNEL_MASK; ++ src->request_channels |= g_value_get_enum (value); ++ GST_OBJECT_UNLOCK (src); ++ break; ++ case ARG_LFE: ++ GST_OBJECT_LOCK (src); ++ src->request_channels &= ~A52_LFE; ++ src->request_channels |= g_value_get_boolean (value) ? A52_LFE : 0; ++ GST_OBJECT_UNLOCK (src); ++ break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; +@@ -747,6 +839,16 @@ + g_value_set_boolean (value, src->dynamic_range_compression); + GST_OBJECT_UNLOCK (src); + break; ++ case ARG_MODE: ++ GST_OBJECT_LOCK (src); ++ g_value_set_enum (value, src->request_channels & A52_CHANNEL_MASK); ++ GST_OBJECT_UNLOCK (src); ++ break; ++ case ARG_LFE: ++ GST_OBJECT_LOCK (src); ++ g_value_set_boolean (value, src->request_channels & A52_LFE); ++ GST_OBJECT_UNLOCK (src); ++ break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; +diff -Naur gst-plugins-ugly-0.10.4-orig/ext/a52dec/gsta52dec.h gst-plugins-ugly-0.10.4/ext/a52dec/gsta52dec.h +--- gst-plugins-ugly-0.10.4-orig/ext/a52dec/gsta52dec.h 2006-11-01 17:38:01.658476286 +0100 ++++ gst-plugins-ugly-0.10.4/ext/a52dec/gsta52dec.h 2006-11-01 17:38:07.822539206 +0100 +@@ -73,6 +73,31 @@ + + GType gst_a52dec_get_type (void); + ++#ifndef A52_MONO ++#define A52_MONO 1 ++#endif ++#ifndef A52_STEREO ++#define A52_STEREO 2 ++#endif ++#ifndef A52_3F ++#define A52_3F 3 ++#endif ++#ifndef A52_2F1R ++#define A52_2F1R 4 ++#endif ++#ifndef A52_3F1R ++#define A52_3F1R 5 ++#endif ++#ifndef A52_2F2R ++#define A52_2F2R 6 ++#endif ++#ifndef A52_3F2R ++#define A52_3F2R 7 ++#endif ++#ifndef A52_DOLBY ++#define A52_DOLBY 10 ++#endif ++ + G_END_DECLS + + #endif /* __GST_A52DEC_H__ */ diff --git a/media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-0.10.4-r1.ebuild b/media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-0.10.4-r1.ebuild new file mode 100644 index 000000000000..c3b69f345e19 --- /dev/null +++ b/media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-0.10.4-r1.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-0.10.4-r1.ebuild,v 1.1 2006/11/01 16:44:35 hanno Exp $ + +inherit gst-plugins-ugly + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86" +IUSE="" + +RDEPEND=">=media-libs/a52dec-0.7.3 + >=media-libs/gst-plugins-base-0.10.3 + >=media-libs/gstreamer-0.10.3" + +DEPEND="${RDEPEND}" + +src_unpack() { + gst-plugins-ugly_src_unpack + cd ${S} + epatch ${FILESDIR}/gsta52-audio-volume.patch +} |