diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | debian/dh_xine | 38 | ||||
-rw-r--r-- | debian/dh_xine.1 | 16 | ||||
-rw-r--r-- | debian/libxine-dev.install | 2 | ||||
-rwxr-xr-x | debian/rules | 3 | ||||
-rw-r--r-- | debian/xine.pm | 9 | ||||
-rw-r--r-- | include/xine.h | 1 | ||||
-rw-r--r-- | include/xine/video_out.h | 2 | ||||
-rw-r--r-- | src/demuxers/demux_mpeg_pes.c | 2 | ||||
-rw-r--r-- | src/demuxers/demux_ts.c | 2 | ||||
-rw-r--r-- | src/demuxers/demux_tta.c | 4 | ||||
-rw-r--r-- | src/video_out/video_out_xcbxv.c | 5 | ||||
-rw-r--r-- | src/video_out/video_out_xv.c | 5 | ||||
-rw-r--r-- | src/video_out/video_out_xvmc.c | 5 | ||||
-rw-r--r-- | src/video_out/video_out_xxmc.c | 7 | ||||
-rw-r--r-- | src/xine-engine/video_out.c | 5 | ||||
-rw-r--r-- | src/xine-engine/xine_interface.c | 2 |
17 files changed, 96 insertions, 15 deletions
@@ -76,6 +76,9 @@ 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. + * 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/debian/dh_xine b/debian/dh_xine index 93657a86c..1ae22bd9b 100644 --- a/debian/dh_xine +++ b/debian/dh_xine @@ -11,7 +11,7 @@ use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS -B<dh_xine> [S<I<debhelper options>>] +B<dh_xine> [S<I<debhelper options>>] [S<I<package name suffixes>>] =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,16 +44,27 @@ Debian policy, version 3.8.1 init (); -my $version; +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', 'libxine2-x'); - - delsubstvar($package, 'xine-console:Depends'); - addsubstvar ($package, 'xine-console:Depends', 'libxine2-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" 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 0e03b0edd..a604bb1df 100755 --- a/debian/rules +++ b/debian/rules @@ -130,8 +130,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; diff --git a/include/xine.h b/include/xine.h index 86220388d..0783cf117 100644 --- a/include/xine.h +++ b/include/xine.h @@ -336,6 +336,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/include/xine/video_out.h b/include/xine/video_out.h index dff1895af..42fcae99f 100644 --- a/include/xine/video_out.h +++ b/include/xine/video_out.h @@ -248,6 +248,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 */ @@ -307,6 +308,7 @@ struct xine_video_port_s { #define VO_CAP_CUSTOM_EXTENT_OVERLAY 0x01000000 /* driver can blend custom extent overlay to output extent */ #define VO_CAP_ARGB_LAYER_OVERLAY 0x02000000 /* driver supports true color overlay */ #define VO_CAP_VIDEO_WINDOW_OVERLAY 0x04000000 /* driver can scale video to an area within overlay */ +#define VO_CAP_GAMMA 0x00080000 /* diff --git a/src/demuxers/demux_mpeg_pes.c b/src/demuxers/demux_mpeg_pes.c index 3b2489a43..5ad959d51 100644 --- a/src/demuxers/demux_mpeg_pes.c +++ b/src/demuxers/demux_mpeg_pes.c @@ -1756,7 +1756,7 @@ static void *init_plugin (xine_t *xine, void *data) { this->demux_class.open_plugin = open_plugin; this->demux_class.description = N_("mpeg pes demux plugin"); this->demux_class.identifier = "MPEG_PES"; - this->demux_class.mimetypes = NULL; + this->demux_class.mimetypes = "video/mp2p: m2p: MPEG2 program stream;"; this->demux_class.extensions = "pes vdr:/ netvdr:/"; this->demux_class.dispose = default_demux_class_dispose; diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c index 8c8250cf4..39b273abf 100644 --- a/src/demuxers/demux_ts.c +++ b/src/demuxers/demux_ts.c @@ -2441,7 +2441,7 @@ static void *init_class (xine_t *xine, void *data) { this->demux_class.open_plugin = open_plugin; this->demux_class.description = N_("MPEG Transport Stream demuxer"); this->demux_class.identifier = "MPEG_TS"; - this->demux_class.mimetypes = NULL; + this->demux_class.mimetypes = "video/mp2t: m2t: MPEG2 transport stream;"; /* accept dvb streams; also handle the special dvbs,dvbt and dvbc * mrl formats: the content is exactly the same but the input plugin diff --git a/src/demuxers/demux_tta.c b/src/demuxers/demux_tta.c index d7c2a65cd..3df30daef 100644 --- a/src/demuxers/demux_tta.c +++ b/src/demuxers/demux_tta.c @@ -128,7 +128,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; @@ -137,7 +137,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) { diff --git a/src/video_out/video_out_xcbxv.c b/src/video_out/video_out_xcbxv.c index 15b14c791..81a799dca 100644 --- a/src/video_out/video_out_xcbxv.c +++ b/src/video_out/video_out_xcbxv.c @@ -1340,6 +1340,11 @@ 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")) { + this->capabilities |= VO_CAP_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")) { this->capabilities |= VO_CAP_COLORKEY; xv_check_capability (this, VO_PROP_COLORKEY, attribute_it.data, diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c index bca1b97f7..5c994c351 100644 --- a/src/video_out/video_out_xv.c +++ b/src/video_out/video_out_xv.c @@ -1390,6 +1390,11 @@ 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")) { + this->capabilities |= VO_CAP_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")) { this->capabilities |= VO_CAP_COLORKEY; xv_check_capability (this, VO_PROP_COLORKEY, attr[k], diff --git a/src/video_out/video_out_xvmc.c b/src/video_out/video_out_xvmc.c index 79fea9ce5..7a0535818 100644 --- a/src/video_out/video_out_xvmc.c +++ b/src/video_out/video_out_xvmc.c @@ -1424,6 +1424,11 @@ 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")) { + this->capabilities |= VO_CAP_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")) { this->capabilities |= VO_CAP_COLORKEY; xvmc_check_capability (this, VO_PROP_COLORKEY, attr[k], diff --git a/src/video_out/video_out_xxmc.c b/src/video_out/video_out_xxmc.c index 5f131855f..aa47eb2ae 100644 --- a/src/video_out/video_out_xxmc.c +++ b/src/video_out/video_out_xxmc.c @@ -2619,6 +2619,13 @@ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *vi xxmc_check_capability (this, VO_PROP_CONTRAST, attr[k], adaptor_info[adaptor_num].base_id, NULL, NULL, NULL); + + } else if(!strcmp(name, "XV_GAMMA")) { + this->capabilities |= VO_CAP_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")) { this->capabilities |= VO_CAP_COLORKEY; xxmc_check_capability (this, VO_PROP_COLORKEY, attr[k], diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c index e4af36e3c..4372226ad 100644 --- a/src/xine-engine/video_out.c +++ b/src/xine-engine/video_out.c @@ -1471,7 +1471,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 ); @@ -1566,6 +1568,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/xine_interface.c b/src/xine-engine/xine_interface.c index 87775c470..ab1bafa1e 100644 --- a/src/xine-engine/xine_interface.c +++ b/src/xine-engine/xine_interface.c @@ -471,6 +471,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: @@ -637,6 +638,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: |