|
@@ -0,0 +1,23 @@
+diff -r 6e12ae33df4d src/xine-engine/audio_out.c
+--- a/src/xine-engine/audio_out.c Wed Dec 26 23:46:36 2007 +0000
++++ b/src/xine-engine/audio_out.c Thu Dec 27 12:49:41 2007 +0100
+@@ -287,7 +287,6 @@ struct audio_fifo_s {
+ int num_buffers;
+ };
+
+-static int ao_set_property (xine_audio_port_t *this_gen, int property, int value);
+
+ static audio_fifo_t *fifo_new (xine_t *xine) {
+
+@@ -1612,11 +1611,6 @@ static void ao_close(xine_audio_port_t *
+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_out: no streams left, closing driver\n");
+
+ if (this->audio_loop_running) {
+- if (this->clock->speed == XINE_SPEED_PAUSE ||
+- (this->clock->speed != XINE_FINE_SPEED_NORMAL && !this->slow_fast_audio)) {
+- /* discard buffers, otherwise we'll wait forever */
+- ao_set_property(this_gen, AO_PROP_DISCARD_BUFFERS, 1);
+- }
+ /* make sure there are no more buffers on queue */
+ fifo_wait_empty(this->out_fifo);
+ }
|
@@ -0,0 +1,4357 @@
+diff -uNr xine-lib-1.1.9.orig/configure.ac xine-lib-1.1.9/configure.ac
+--- xine-lib-1.1.9.orig/configure.ac 2008-01-04 19:02:22.000000000 +0100
++++ xine-lib-1.1.9/configure.ac 2008-01-07 19:59:25.000000000 +0100
+@@ -2720,6 +2720,7 @@
+ src/video_out/vidix/drivers/Makefile
+ src/xine-utils/Makefile
+ src/xine-engine/Makefile
++src/vdr/Makefile
+ win32/Makefile
+ win32/include/Makefile])
+ AC_CONFIG_COMMANDS([default],[[chmod +x ./misc/SlackBuild ./misc/build_rpms.sh ./misc/relchk.sh]],[[]])
+@@ -2762,7 +2763,7 @@
+ echo " - stdin_fifo - rtp"
+ echo " - http - mms"
+ echo " - pnm - rtsp"
+-echo " - dvb"
++echo " - dvb - vdr"
+ if test "x$external_dvdnav" = "xyes"; then
+ echo " - dvd (external libs)"
+ else
+@@ -2967,6 +2968,7 @@
+ echo " - eq - eq2"
+ echo " - boxblur - denoise3d"
+ echo " - unsharp - tvtime"
++echo " - vdr"
+ echo " * SFX:"
+ echo " - goom - oscope"
+ echo " - fftscope - mosaico"
+diff -uNr xine-lib-1.1.9.orig/src/Makefile.am xine-lib-1.1.9/src/Makefile.am
+--- xine-lib-1.1.9.orig/src/Makefile.am 2007-08-19 01:36:44.000000000 +0200
++++ xine-lib-1.1.9/src/Makefile.am 2008-01-07 19:59:25.000000000 +0100
+@@ -26,4 +26,5 @@
+ libfaad \
+ libmusepack \
+ post \
+- combined
++ combined \
++ vdr
+diff -uNr xine-lib-1.1.9.orig/src/vdr/combined_vdr.c xine-lib-1.1.9/src/vdr/combined_vdr.c
+--- xine-lib-1.1.9.orig/src/vdr/combined_vdr.c 1970-01-01 01:00:00.000000000 +0100
++++ xine-lib-1.1.9/src/vdr/combined_vdr.c 2008-01-07 19:59:26.000000000 +0100
+@@ -0,0 +1,44 @@
++/*
++ * Copyright (C) 2000-2004 the xine project
++ *
++ * This file is part of xine, a free video player.
++ *
++ * xine is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * xine is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
++ */
++
++/*
++ * plugins for VDR
++ */
++
++#include "xine_internal.h"
++#include "post.h"
++#include "combined_vdr.h"
++
++
++
++static const post_info_t vdr_video_special_info = { XINE_POST_TYPE_VIDEO_FILTER };
++static const post_info_t vdr_audio_special_info = { XINE_POST_TYPE_AUDIO_FILTER };
++
++/* exported plugin catalog entry */
++const plugin_info_t xine_plugin_info[] EXPORTED =
++{
++ /* type , API, "name" , version , special_info , init_function */
++ { PLUGIN_INPUT, 17, "VDR" , XINE_VERSION_CODE, NULL , &vdr_input_init_plugin },
++ { PLUGIN_POST , 9, "vdr" , XINE_VERSION_CODE, &vdr_video_special_info, &vdr_video_init_plugin },
++ { PLUGIN_POST , 9, "vdr_video", XINE_VERSION_CODE, &vdr_video_special_info, &vdr_video_init_plugin },
++ { PLUGIN_POST , 9, "vdr_audio", XINE_VERSION_CODE, &vdr_audio_special_info, &vdr_audio_init_plugin },
++ { PLUGIN_NONE , 0, "" , 0 , NULL , NULL }
++};
++
+diff -uNr xine-lib-1.1.9.orig/src/vdr/combined_vdr.h xine-lib-1.1.9/src/vdr/combined_vdr.h
+--- xine-lib-1.1.9.orig/src/vdr/combined_vdr.h 1970-01-01 01:00:00.000000000 +0100
++++ xine-lib-1.1.9/src/vdr/combined_vdr.h 2008-01-07 19:59:26.000000000 +0100
+@@ -0,0 +1,92 @@
++/*
++ * Copyright (C) 2000-2004 the xine project
++ *
++ * This file is part of xine, a free video player.
++ *
++ * xine is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * xine is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
++ */
++
++#ifndef __COMBINED_VDR_H
++#define __COMBINED_VDR_H
++
++
++
++typedef struct vdr_set_video_window_data_s {
++ int32_t x;
++ int32_t y;
++ int32_t w;
++ int32_t h;
++ int32_t w_ref;
++ int32_t h_ref;
++
++} vdr_set_video_window_data_t;
++
++
++
++typedef struct vdr_frame_size_changed_data_s {
++ int32_t x;
++ int32_t y;
++ int32_t w;
++ int32_t h;
++ double r;
++
++} vdr_frame_size_changed_data_t;
++
++
++
++typedef struct vdr_select_audio_data_s {
++ uint8_t channels;
++
++} vdr_select_audio_data_t;
++
++
++
++inline static int vdr_is_vdr_stream(xine_stream_t *stream)
++{
++ if (!stream
++ || !stream->input_plugin
++ || !stream->input_plugin->input_class)
++ {
++ return 0;
++ }
++
++ {
++ input_class_t *input_class = stream->input_plugin->input_class;
++
++ if (input_class->get_identifier)
++ {
++ const char *identifier = input_class->get_identifier(input_class);
++ if (identifier
++ && 0 == strcmp(identifier, "VDR"))
++ {
++ return 1;
++ }
++ }
++ }
++
++ return 0;
++}
++
++
++
++/* plugin class initialization function */
++void *vdr_input_init_plugin(xine_t *xine, void *data);
++void *vdr_video_init_plugin(xine_t *xine, void *data);
++void *vdr_audio_init_plugin(xine_t *xine, void *data);
++
++
++
++#endif /* __COMBINED_VDR_H */
++
+diff -uNr xine-lib-1.1.9.orig/src/vdr/input_vdr.c xine-lib-1.1.9/src/vdr/input_vdr.c
+--- xine-lib-1.1.9.orig/src/vdr/input_vdr.c 1970-01-01 01:00:00.000000000 +0100
++++ xine-lib-1.1.9/src/vdr/input_vdr.c 2008-01-07 19:59:26.000000000 +0100
+@@ -0,0 +1,2084 @@
++/*
++ * Copyright (C) 2003-2004 the xine project
++ *
++ * This file is part of xine, a free video player.
++ *
++ * xine is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * xine is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|