From f79794e4d0bf75255d15c0101c57f0f2c64bb10e Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Tue, 30 Mar 2010 18:59:07 +0100 Subject: Add dh 7 support (dh --with xine). --- debian/dh_xine | 2 -- debian/libxine-dev.install | 2 ++ debian/rules | 3 +-- debian/xine.pm | 9 +++++++++ 4 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 debian/xine.pm diff --git a/debian/dh_xine b/debian/dh_xine index e6129624e..ca3023bd7 100644 --- a/debian/dh_xine +++ b/debian/dh_xine @@ -31,8 +31,6 @@ Debian policy, version 3.8.1 init (); -my $version; - foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp = tmpdir ($package); diff --git a/debian/libxine-dev.install b/debian/libxine-dev.install index 6fadf7dc5..10a9d7983 100644 --- a/debian/libxine-dev.install +++ b/debian/libxine-dev.install @@ -8,3 +8,5 @@ usr/lib/xine/plugins/*/post/*.la usr/lib/xine/plugins/*/vidix/*.la usr/share/aclocal/xine.m4 usr/share/man/man1/xine-config.1 +../dh_xine usr/bin +../xine.pm usr/share/perl5/Debian/Debhelper/Sequence/xine.pm diff --git a/debian/rules b/debian/rules index c3b30618d..8dc311382 100755 --- a/debian/rules +++ b/debian/rules @@ -145,8 +145,7 @@ binary-arch: build install # ugly hack, documentation should never have been in /u/s/d/xine/... mv debian/tmp/usr/share/doc/xine-lib debian/tmp/usr/share/doc/libxine${major} # build libxine${major} package by moving files from libxine-dev - dh_install --autodest --sourcedir=debian/tmp --list-missing - install -m755 debian/dh_xine debian/libxine-dev/usr/bin + dh_install --sourcedir=debian/tmp --list-missing dh_installman -plibxine-dev debian/dh_xine.1 dh_installdocs dh_installchangelogs -k ChangeLog diff --git a/debian/xine.pm b/debian/xine.pm new file mode 100644 index 000000000..81abf05a6 --- /dev/null +++ b/debian/xine.pm @@ -0,0 +1,9 @@ +#!/usr/bin/perl + +use warnings; +use strict; +use Debian::Debhelper::Dh_Lib; + +insert_after("dh_shlibdeps", "dh_xine"); + +1; -- cgit v1.2.3 From 5b81ecf4ccf8e5609ae19d2229c96ba0765b9a28 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Tue, 30 Mar 2010 19:00:39 +0100 Subject: Allow dh_xine to take package name suffixes. Defaults are "x console". --- debian/dh_xine | 38 ++++++++++++++++++++++++++++++++------ debian/dh_xine.1 | 16 +++++++++++++++- 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/debian/dh_xine b/debian/dh_xine index ca3023bd7..1ae22bd9b 100644 --- a/debian/dh_xine +++ b/debian/dh_xine @@ -11,7 +11,7 @@ use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS -B [S>] +B [S>] [S>] =head1 DESCRIPTION @@ -23,6 +23,19 @@ Each xine-lib front end is required to have one of these two substvars listed in its Depends line in debian/control. Using package names directly will, sooner or later, break. +By listing package name suffixes, you can generate dependencies and +recommendations (almost) at will. If you don't specify any, then 'x' and +'console' are used, generating xine-x:Depends and xine-console:Depends. + +=head1 EXAMPLES + +dh_xine is usually called indirectly in a rules file via the dh command. + + %: + dh --with xine $@ + +It can also be called directly, prior to calling dh_gencontrol. + =head1 CONFORMS TO Debian policy, version 3.8.1 @@ -31,14 +44,27 @@ Debian policy, version 3.8.1 init (); +no locale; + +my @suffix; + +foreach my $suffix (@ARGV) { + if ($suffix =~ /^[-[:lower:]]*$/) { + push @suffix, $suffix; + } else { + warn "bad package name suffix: $suffix"; + } +} + +@suffix = ('x', 'console') if $#suffix < 0; + foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp = tmpdir ($package); - delsubstvar($package, 'xine-x:Depends'); - addsubstvar ($package, 'xine-x:Depends', 'libxine1-x'); - - delsubstvar($package, 'xine-console:Depends'); - addsubstvar ($package, 'xine-console:Depends', 'libxine1-console'); + foreach my $suffix (@suffix) { + delsubstvar($package, "xine-$suffix:Depends"); + addsubstvar ($package, "xine-$suffix:Depends", "libxine1-$suffix"); + } } =head1 SEE ALSO diff --git a/debian/dh_xine.1 b/debian/dh_xine.1 index 5116d750a..e420abd7e 100644 --- a/debian/dh_xine.1 +++ b/debian/dh_xine.1 @@ -2,7 +2,7 @@ .SH "NAME" dh_xine - calculates xine\-lib dependencies .SH "SYNOPSIS" -\fBdh_xine\fR [\fIdebhelper\ options\fR] +\fBdh_xine\fR [\fIdebhelper\ options\fR] [\fIpackage\ name\ suffixes\fR] .SH "DESCRIPTION" dh_xine is a debhelper program that is responsible for generating the ${xine\-x:Depends} and ${xine\-console:Depends} substitutions and adding them @@ -11,6 +11,20 @@ to substvars files. Each xine-lib front end is required to have one of these two substvars listed in its Depends line in debian/control. Using package names directly will, sooner or later, break. +.PP +By listing package name suffixes, you can generate dependencies and +recommendations (almost) at will. If you don't specify any, then 'x' and +\&'console' are used, generating xine\-x:Depends and xine\-console:Depends. +.SH "EXAMPLES" +dh_xine is usually called indirectly in a rules file via the dh command. +.PP +.ft CW +.nf +\& %: +\& dh \-\-with xine $@ +.ft R +.PP +It can also be called directly, prior to calling dh_gencontrol. .SH "CONFORMS TO" Debian policy, version 3.8.1 .SH "SEE ALSO" -- cgit v1.2.3 From 7706ddf611959d5ca58c47b5618f23f9b4be496a Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Wed, 7 Apr 2010 18:05:59 +0100 Subject: Add video/mp2t (and the corresponding video/mp2p). --- ChangeLog | 1 + src/demuxers/demux_mpeg_pes.c | 2 +- src/demuxers/demux_ts.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 481a11c9f..1e0fca4a9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ xine-lib (1.1.19) 2010-??-?? * Fix V4L2 check. * Add support for Ogg tag 'DISCNUMBER' and ID3 tag 'TPOS'. * Add support for EAC3. + * Recognise video/mp2t and video/mp2p. xine-lib (1.1.18.1) 2010-03-06 * Oops. compat.c (for DXR3 support) was omitted. diff --git a/src/demuxers/demux_mpeg_pes.c b/src/demuxers/demux_mpeg_pes.c index 0fe97fb93..b2d0f2fa9 100644 --- a/src/demuxers/demux_mpeg_pes.c +++ b/src/demuxers/demux_mpeg_pes.c @@ -1771,7 +1771,7 @@ static const char *get_extensions (demux_class_t *this_gen) { } static const char *get_mimetypes (demux_class_t *this_gen) { - return NULL; + return "video/mp2p: m2p: MPEG2 program stream;"; } static void class_dispose (demux_class_t *this_gen) { diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c index 1a19340f3..b55877c83 100644 --- a/src/demuxers/demux_ts.c +++ b/src/demuxers/demux_ts.c @@ -2489,7 +2489,7 @@ static const char *get_extensions (demux_class_t *this_gen) { } static const char *get_mimetypes (demux_class_t *this_gen) { - return NULL; + return "video/mp2t: m2t: MPEG2 transport stream;"; } static void class_dispose (demux_class_t *this_gen) { -- cgit v1.2.3 From edc1d619f78897a5ea382c335a1dd9b2818002fe Mon Sep 17 00:00:00 2001 From: Kelvie Wong Date: Fri, 2 Apr 2010 01:42:07 -0700 Subject: demux_tta: fix some dumb truncation errors I don't know why I multiplied by integers _outside_ the parentheses. I blame late nights. Regardless, this fixes the skip every 24 seconds due to the truncation of FRAME_TIME. The input_time is also more accurate for e.g. stopping cue tracks. --- ChangeLog | 1 + src/demuxers/demux_tta.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1e0fca4a9..a166c1a61 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,7 @@ xine-lib (1.1.19) 2010-??-?? * Add support for Ogg tag 'DISCNUMBER' and ID3 tag 'TPOS'. * Add support for EAC3. * Recognise video/mp2t and video/mp2p. + * TTA fixes. xine-lib (1.1.18.1) 2010-03-06 * Oops. compat.c (for DXR3 support) was omitted. diff --git a/src/demuxers/demux_tta.c b/src/demuxers/demux_tta.c index 03d15045d..10229ed64 100644 --- a/src/demuxers/demux_tta.c +++ b/src/demuxers/demux_tta.c @@ -129,7 +129,7 @@ static int demux_tta_send_chunk(demux_plugin_t *this_gen) { /* Get a buffer */ buf = this->audio_fifo->buffer_pool_alloc(this->audio_fifo); buf->type = BUF_AUDIO_TTA; - buf->pts = (int64_t)(FRAME_TIME * this->currentframe) * 90000; + buf->pts = (int64_t)(FRAME_TIME * this->currentframe * 90000); buf->extra_info->total_time = (int)(le2me_32(this->header.tta.data_length) * 1000.0 / le2me_32(this->header.tta.samplerate)); /* milliseconds */ buf->decoder_flags = 0; @@ -138,7 +138,7 @@ static int demux_tta_send_chunk(demux_plugin_t *this_gen) { (int) ((double) this->currentframe * 65535 / this->totalframes); /* Set time */ - buf->extra_info->input_time = (int)(FRAME_TIME * this->currentframe)*1000; + buf->extra_info->input_time = (int)(FRAME_TIME * this->currentframe * 1000); bytes_read = this->input->read(this->input, buf->content, ( bytes_to_read > buf->max_size ) ? buf->max_size : bytes_to_read); if (bytes_read < 0) { -- cgit v1.2.3 From 818165da93f72b8b32c164bcabb3eae2d4e4dc31 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Thu, 8 Apr 2010 16:04:21 +0100 Subject: Add support for Xv gamma adjustment. --- ChangeLog | 1 + include/xine.h.in | 1 + src/video_out/video_out_xcbxv.c | 4 ++++ src/video_out/video_out_xv.c | 4 ++++ src/video_out/video_out_xvmc.c | 4 ++++ src/video_out/video_out_xxmc.c | 5 +++++ src/xine-engine/video_out.c | 5 ++++- src/xine-engine/video_out.h | 1 + src/xine-engine/xine_interface.c | 2 ++ 9 files changed, 26 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a166c1a61..f4e6ed3fe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,7 @@ xine-lib (1.1.19) 2010-??-?? * Add support for EAC3. * Recognise video/mp2t and video/mp2p. * TTA fixes. + * Add support for Xv gamma adjustment. xine-lib (1.1.18.1) 2010-03-06 * Oops. compat.c (for DXR3 support) was omitted. diff --git a/include/xine.h.in b/include/xine.h.in index 3fcd5c4ec..a8d8ddd5b 100644 --- a/include/xine.h.in +++ b/include/xine.h.in @@ -369,6 +369,7 @@ int xine_get_param (xine_stream_t *stream, int param) XINE_PROTECTED; #define XINE_PARAM_VO_SATURATION 0x01000003 /* 0..65535 */ #define XINE_PARAM_VO_CONTRAST 0x01000004 /* 0..65535 */ #define XINE_PARAM_VO_BRIGHTNESS 0x01000005 /* 0..65535 */ +#define XINE_PARAM_VO_GAMMA 0x0100000c /* 0..65535 */ #define XINE_PARAM_VO_ZOOM_X 0x01000008 /* percent */ #define XINE_PARAM_VO_ZOOM_Y 0x0100000d /* percent */ #define XINE_PARAM_VO_PAN_SCAN 0x01000009 /* bool */ diff --git a/src/video_out/video_out_xcbxv.c b/src/video_out/video_out_xcbxv.c index b3a141e61..e8797505b 100644 --- a/src/video_out/video_out_xcbxv.c +++ b/src/video_out/video_out_xcbxv.c @@ -1502,6 +1502,10 @@ static vo_driver_t *open_plugin(video_driver_class_t *class_gen, const void *vis xv_check_capability (this, VO_PROP_CONTRAST, attribute_it.data, adaptor_it.data->base_id, NULL, NULL, NULL); + } else if(!strcmp(name, "XV_GAMMA")) { + xv_check_capability (this, VO_PROP_GAMMA, attribute_it.data, + adaptor_it.data->base_id, + NULL, NULL, NULL); } else if(!strcmp(name, "XV_COLORKEY")) { xv_check_capability (this, VO_PROP_COLORKEY, attribute_it.data, adaptor_it.data->base_id, diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c index 65cd29aa4..73236ec0d 100644 --- a/src/video_out/video_out_xv.c +++ b/src/video_out/video_out_xv.c @@ -1555,6 +1555,10 @@ static vo_driver_t *open_plugin_2 (video_driver_class_t *class_gen, const void * xv_check_capability (this, VO_PROP_CONTRAST, attr[k], adaptor_info[adaptor_num].base_id, NULL, NULL, NULL); + } else if(!strcmp(name, "XV_GAMMA")) { + xv_check_capability (this, VO_PROP_GAMMA, attr[k], + adaptor_info[adaptor_num].base_id, + NULL, NULL, NULL); } else if(!strcmp(name, "XV_COLORKEY")) { xv_check_capability (this, VO_PROP_COLORKEY, attr[k], adaptor_info[adaptor_num].base_id, diff --git a/src/video_out/video_out_xvmc.c b/src/video_out/video_out_xvmc.c index aeb536fc1..34b925c8f 100644 --- a/src/video_out/video_out_xvmc.c +++ b/src/video_out/video_out_xvmc.c @@ -1456,6 +1456,10 @@ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *vi xvmc_check_capability (this, VO_PROP_CONTRAST, attr[k], adaptor_info[adaptor_num].base_id, NULL, NULL, NULL); + } else if(!strcmp(name, "XV_GAMMA")) { + xvmc_check_capability (this, VO_PROP_GAMMA, attr[k], + adaptor_info[adaptor_num].base_id, + NULL, NULL, NULL); } else if(!strcmp(name, "XV_COLORKEY")) { xvmc_check_capability (this, VO_PROP_COLORKEY, attr[k], adaptor_info[adaptor_num].base_id, diff --git a/src/video_out/video_out_xxmc.c b/src/video_out/video_out_xxmc.c index 256e2f5a8..654cad7d9 100644 --- a/src/video_out/video_out_xxmc.c +++ b/src/video_out/video_out_xxmc.c @@ -2581,6 +2581,11 @@ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *vi adaptor_info[adaptor_num].base_id, NULL, NULL, NULL); + } else if(!strcmp(name, "XV_GAMMA")) { + xxmc_check_capability (this, VO_PROP_GAMMA, attr[k], + adaptor_info[adaptor_num].base_id, + NULL, NULL, NULL); + } else if(!strcmp(name, "XV_COLORKEY")) { xxmc_check_capability (this, VO_PROP_COLORKEY, attr[k], adaptor_info[adaptor_num].base_id, diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c index d06e82afa..cd73233c3 100644 --- a/src/xine-engine/video_out.c +++ b/src/xine-engine/video_out.c @@ -1430,7 +1430,9 @@ static int vo_get_property (xine_video_port_t *this_gen, int property) { case XINE_PARAM_VO_HUE: case XINE_PARAM_VO_SATURATION: case XINE_PARAM_VO_CONTRAST: - case XINE_PARAM_VO_BRIGHTNESS: { + case XINE_PARAM_VO_BRIGHTNESS: + case XINE_PARAM_VO_GAMMA: + { int v, min_v, max_v, range_v; pthread_mutex_lock( &this->driver_lock ); @@ -1523,6 +1525,7 @@ static int vo_set_property (xine_video_port_t *this_gen, int property, int value case XINE_PARAM_VO_SATURATION: case XINE_PARAM_VO_CONTRAST: case XINE_PARAM_VO_BRIGHTNESS: + case XINE_PARAM_VO_GAMMA: if (!this->grab_only) { int v, min_v, max_v, range_v; diff --git a/src/xine-engine/video_out.h b/src/xine-engine/video_out.h index b1a517565..9a4bd56c9 100644 --- a/src/xine-engine/video_out.h +++ b/src/xine-engine/video_out.h @@ -235,6 +235,7 @@ struct xine_video_port_s { #define VO_PROP_PAN_SCAN 9 #define VO_PROP_TVMODE 10 #define VO_PROP_MAX_NUM_FRAMES 11 +#define VO_PROP_GAMMA 12 #define VO_PROP_ZOOM_Y 13 #define VO_PROP_DISCARD_FRAMES 14 /* not used by drivers */ #define VO_PROP_WINDOW_WIDTH 15 /* read-only */ diff --git a/src/xine-engine/xine_interface.c b/src/xine-engine/xine_interface.c index e39c19817..62de42678 100644 --- a/src/xine-engine/xine_interface.c +++ b/src/xine-engine/xine_interface.c @@ -478,6 +478,7 @@ void xine_set_param (xine_stream_t *stream, int param, int value) { case XINE_PARAM_VO_SATURATION: case XINE_PARAM_VO_CONTRAST: case XINE_PARAM_VO_BRIGHTNESS: + case XINE_PARAM_VO_GAMMA: case XINE_PARAM_VO_DEINTERLACE: case XINE_PARAM_VO_ASPECT_RATIO: case XINE_PARAM_VO_ZOOM_X: @@ -642,6 +643,7 @@ int xine_get_param (xine_stream_t *stream, int param) { case XINE_PARAM_VO_SATURATION: case XINE_PARAM_VO_CONTRAST: case XINE_PARAM_VO_BRIGHTNESS: + case XINE_PARAM_VO_GAMMA: case XINE_PARAM_VO_DEINTERLACE: case XINE_PARAM_VO_ASPECT_RATIO: case XINE_PARAM_VO_ZOOM_X: -- cgit v1.2.3