diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2003-11-15 14:00:35 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2003-11-15 14:00:35 +0000 |
commit | 443d766f9506dfcc19de9c8fc224a61a0922f722 (patch) | |
tree | adb40f0b8997f9d28de758cb3a3d82e4f3151189 | |
parent | 570fd9006dcf6f9aaa460e79b93b7ce37f7c6d7b (diff) | |
download | xine-lib-443d766f9506dfcc19de9c8fc224a61a0922f722.tar.gz xine-lib-443d766f9506dfcc19de9c8fc224a61a0922f722.tar.bz2 |
change demux api:
- demuxers should not access stream->demux_thread_running
- remove deprecated get_video_frame/got_video_frame_cb
CVS patchset: 5732
CVS date: 2003/11/15 14:00:35
45 files changed, 156 insertions, 265 deletions
diff --git a/doc/hackersguide/stream.sgml b/doc/hackersguide/stream.sgml index 587edbc35..c5460f029 100644 --- a/doc/hackersguide/stream.sgml +++ b/doc/hackersguide/stream.sgml @@ -332,7 +332,7 @@ decoder and then return. </para> <para> - <programlisting> int demux_seek(demux_plugin_t *this_gen, off_t start_pos, int start_time);</programlisting> + <programlisting> int demux_seek(demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing);</programlisting> This function is called by the engine to request stream repositioning. This function should be implemented if possible. See the section on "Seeking Policy" for more information. A seek operation should reposition diff --git a/src/demuxers/demux.h b/src/demuxers/demux.h index 757deb745..1ad881ad4 100644 --- a/src/demuxers/demux.h +++ b/src/demuxers/demux.h @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: demux.h,v 1.33 2003/10/06 15:46:20 mroi Exp $ + * $Id: demux.h,v 1.34 2003/11/15 14:00:37 miguelfreitas Exp $ */ #ifndef HAVE_DEMUX_H @@ -35,7 +35,7 @@ # include <xine/xine_internal.h> #endif -#define DEMUXER_PLUGIN_IFACE_VERSION 22 +#define DEMUXER_PLUGIN_IFACE_VERSION 23 #define DEMUX_OK 0 #define DEMUX_FINISHED 1 @@ -110,6 +110,8 @@ struct demux_plugin_s { * * start_pos : position in input source * start_time : position measured in miliseconds from stream start + * playing : true if this is a new seek within an already playing stream + * false if playback of this stream has not started yet * * if both parameters are !=0 start_pos will be used * for non-seekable streams both values will be ignored @@ -119,7 +121,7 @@ struct demux_plugin_s { */ int (*seek) (demux_plugin_t *this, - off_t start_pos, int start_time); + off_t start_pos, int start_time, int playing ); /* * send a chunk of data down to decoder fifos @@ -153,24 +155,6 @@ struct demux_plugin_s { int (*get_stream_length) (demux_plugin_t *this); /* - * get audio/video frames - * - * experimental, function pointers can be NULL for now. - */ - - int (*get_video_frame) (demux_plugin_t *this, - int timestamp, /* msec */ - int *width, int *height, - int *ratio_code, - int *duration, /* msec */ - int *format, - uint8_t *img) ; - - /* called by video_out for every frame it receives */ - void (*got_video_frame_cb) (demux_plugin_t *this, - vo_frame_t *frame); - - /* * return capabilities of demuxed stream */ diff --git a/src/demuxers/demux_4xm.c b/src/demuxers/demux_4xm.c index 0844e56c7..7a495da00 100644 --- a/src/demuxers/demux_4xm.c +++ b/src/demuxers/demux_4xm.c @@ -23,7 +23,7 @@ * For more information on the 4xm file format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: demux_4xm.c,v 1.8 2003/11/13 15:23:00 andruil Exp $ + * $Id: demux_4xm.c,v 1.9 2003/11/15 14:00:37 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -390,11 +390,11 @@ static void demux_fourxm_send_headers(demux_plugin_t *this_gen) { } static int demux_fourxm_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_fourxm_t *this = (demux_fourxm_t *) this_gen; /* if thread is not running, initialize demuxer */ - if( !this->stream->demux_thread_running ) { + if( !playing ) { /* send new pts */ _x_demux_control_newpts(this->stream, 0, 0); @@ -447,8 +447,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_fourxm_dispose; this->demux_plugin.get_status = demux_fourxm_get_status; this->demux_plugin.get_stream_length = demux_fourxm_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_fourxm_get_capabilities; this->demux_plugin.get_optional_data = demux_fourxm_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_ac3.c b/src/demuxers/demux_ac3.c index b3d999c3a..0142fac9d 100644 --- a/src/demuxers/demux_ac3.c +++ b/src/demuxers/demux_ac3.c @@ -23,7 +23,7 @@ * This demuxer detects raw AC3 data in a file and shovels AC3 data * directly to the AC3 decoder. * - * $Id: demux_ac3.c,v 1.12 2003/11/11 18:44:51 f1rmb Exp $ + * $Id: demux_ac3.c,v 1.13 2003/11/15 14:00:38 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -247,7 +247,7 @@ static void demux_ac3_send_headers(demux_plugin_t *this_gen) { } static int demux_ac3_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_ac3_t *this = (demux_ac3_t *) this_gen; @@ -312,8 +312,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_ac3_dispose; this->demux_plugin.get_status = demux_ac3_get_status; this->demux_plugin.get_stream_length = demux_ac3_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_ac3_get_capabilities; this->demux_plugin.get_optional_data = demux_ac3_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_aiff.c b/src/demuxers/demux_aiff.c index 53cf5acc4..24314f3fc 100644 --- a/src/demuxers/demux_aiff.c +++ b/src/demuxers/demux_aiff.c @@ -21,7 +21,7 @@ /* * AIFF File Demuxer by Mike Melanson (melanson@pcisys.net) * - * $Id: demux_aiff.c,v 1.35 2003/11/13 15:23:00 andruil Exp $ + * $Id: demux_aiff.c,v 1.36 2003/11/15 14:00:38 miguelfreitas Exp $ * */ @@ -264,7 +264,7 @@ static void demux_aiff_send_headers(demux_plugin_t *this_gen) { } static int demux_aiff_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_aiff_t *this = (demux_aiff_t *) this_gen; @@ -342,8 +342,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_aiff_dispose; this->demux_plugin.get_status = demux_aiff_get_status; this->demux_plugin.get_stream_length = demux_aiff_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_aiff_get_capabilities; this->demux_plugin.get_optional_data = demux_aiff_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_asf.c b/src/demuxers/demux_asf.c index 843a4751e..55e8419f7 100644 --- a/src/demuxers/demux_asf.c +++ b/src/demuxers/demux_asf.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: demux_asf.c,v 1.140 2003/11/11 18:44:51 f1rmb Exp $ + * $Id: demux_asf.c,v 1.141 2003/11/15 14:00:39 miguelfreitas Exp $ * * demultiplexer for asf streams * @@ -1885,7 +1885,7 @@ static void demux_asf_send_headers (demux_plugin_t *this_gen) { } static int demux_asf_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_asf_t *this = (demux_asf_t *) this_gen; asf_stream_t *stream = NULL; @@ -2185,8 +2185,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, this->demux_plugin.dispose = demux_asf_dispose; this->demux_plugin.get_status = demux_asf_get_status; this->demux_plugin.get_stream_length = demux_asf_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_asf_get_capabilities; this->demux_plugin.get_optional_data = demux_asf_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -2253,6 +2251,6 @@ static void *init_class (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "asf", XINE_VERSION_CODE, NULL, init_class }, + { PLUGIN_DEMUX, 23, "asf", XINE_VERSION_CODE, NULL, init_class }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_aud.c b/src/demuxers/demux_aud.c index f125f43fe..07be650e5 100644 --- a/src/demuxers/demux_aud.c +++ b/src/demuxers/demux_aud.c @@ -34,7 +34,7 @@ * data. This makes seeking conceptually impossible. Upshot: Random * seeking is not supported. * - * $Id: demux_aud.c,v 1.13 2003/11/11 18:44:51 f1rmb Exp $ + * $Id: demux_aud.c,v 1.14 2003/11/15 14:00:40 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -221,7 +221,7 @@ static void demux_aud_send_headers(demux_plugin_t *this_gen) { } static int demux_aud_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_aud_t *this = (demux_aud_t *) this_gen; @@ -276,8 +276,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_aud_dispose; this->demux_plugin.get_status = demux_aud_get_status; this->demux_plugin.get_stream_length = demux_aud_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_aud_get_capabilities; this->demux_plugin.get_optional_data = demux_aud_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_avi.c b/src/demuxers/demux_avi.c index b6779f6e0..f2deaf674 100644 --- a/src/demuxers/demux_avi.c +++ b/src/demuxers/demux_avi.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_avi.c,v 1.175 2003/11/11 18:44:51 f1rmb Exp $ + * $Id: demux_avi.c,v 1.176 2003/11/15 14:00:40 miguelfreitas Exp $ * * demultiplexer for avi streams * @@ -1600,7 +1600,7 @@ static void demux_avi_send_headers (demux_plugin_t *this_gen) { * seek(). */ static int demux_avi_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_avi_t *this = (demux_avi_t *) this_gen; if (!this->streaming) { @@ -1836,8 +1836,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_avi_dispose; this->demux_plugin.get_status = demux_avi_get_status; this->demux_plugin.get_stream_length = demux_avi_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_avi_get_capabilities; this->demux_plugin.get_optional_data = demux_avi_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -1911,6 +1909,6 @@ static void *init_class (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "avi", XINE_VERSION_CODE, NULL, init_class }, + { PLUGIN_DEMUX, 23, "avi", XINE_VERSION_CODE, NULL, init_class }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_cdda.c b/src/demuxers/demux_cdda.c index 03f55da7f..ac6ac1c53 100644 --- a/src/demuxers/demux_cdda.c +++ b/src/demuxers/demux_cdda.c @@ -24,7 +24,7 @@ * linear PCM "decoder" (which in turn sends them directly to the audio * output target; this is a really fancy CD-playing architecture). * - * $Id: demux_cdda.c,v 1.15 2003/11/11 18:44:51 f1rmb Exp $ + * $Id: demux_cdda.c,v 1.16 2003/11/15 14:00:42 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -137,7 +137,7 @@ static void demux_cdda_send_headers(demux_plugin_t *this_gen) { } } -static int demux_cdda_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time) { +static int demux_cdda_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) { demux_cdda_t *this = (demux_cdda_t *) this_gen; start_time /= 1000; @@ -196,8 +196,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_cdda_dispose; this->demux_plugin.get_status = demux_cdda_get_status; this->demux_plugin.get_stream_length = demux_cdda_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_cdda_get_capabilities; this->demux_plugin.get_optional_data = demux_cdda_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_eawve.c b/src/demuxers/demux_eawve.c index 2a3c1fd39..26a70da8b 100644 --- a/src/demuxers/demux_eawve.c +++ b/src/demuxers/demux_eawve.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_eawve.c,v 1.23 2003/11/13 15:23:01 andruil Exp $ + * $Id: demux_eawve.c,v 1.24 2003/11/15 14:00:42 miguelfreitas Exp $ * * demux_eawve.c, Demuxer plugin for Electronic Arts' WVE file format * @@ -307,7 +307,7 @@ static void demux_eawve_send_headers(demux_plugin_t *this_gen){ } } -static int demux_eawve_seek(demux_eawve_t *this, off_t start_pos, int start_time){ +static int demux_eawve_seek(demux_eawve_t *this, off_t start_pos, int start_time, int playing){ if (!this->thread_running) { _x_demux_control_newpts(this->stream, 0, 0); @@ -358,8 +358,6 @@ static demux_plugin_t* open_plugin(demux_class_t *class_gen, xine_stream_t *stre this->demux_plugin.dispose = (void*)demux_eawve_dispose; this->demux_plugin.get_status = (void*)demux_eawve_get_status; this->demux_plugin.get_stream_length = (void*)demux_eawve_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_eawve_get_capabilities; this->demux_plugin.get_optional_data = demux_eawve_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_elem.c b/src/demuxers/demux_elem.c index 5075d5d09..8e51f4534 100644 --- a/src/demuxers/demux_elem.c +++ b/src/demuxers/demux_elem.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_elem.c,v 1.77 2003/11/11 18:44:51 f1rmb Exp $ + * $Id: demux_elem.c,v 1.78 2003/11/15 14:00:43 miguelfreitas Exp $ * * demultiplexer for elementary mpeg streams */ @@ -137,13 +137,13 @@ static void demux_mpeg_elem_send_headers (demux_plugin_t *this_gen) { } static int demux_mpeg_elem_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_mpeg_elem_t *this = (demux_mpeg_elem_t *) this_gen; this->status = DEMUX_OK; - if (this->stream->demux_thread_running) + if (playing) _x_demux_flush_engine(this->stream); if (INPUT_IS_SEEKABLE(this->input)) { @@ -232,8 +232,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_mpeg_elem_dispose; this->demux_plugin.get_status = demux_mpeg_elem_get_status; this->demux_plugin.get_stream_length = demux_mpeg_elem_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_mpeg_elem_get_capabilities; this->demux_plugin.get_optional_data = demux_mpeg_elem_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -286,6 +284,6 @@ static void *init_plugin (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "elem", XINE_VERSION_CODE, NULL, init_plugin }, + { PLUGIN_DEMUX, 23, "elem", XINE_VERSION_CODE, NULL, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_film.c b/src/demuxers/demux_film.c index a987277f7..67504c0e5 100644 --- a/src/demuxers/demux_film.c +++ b/src/demuxers/demux_film.c @@ -21,7 +21,7 @@ * For more information on the FILM file format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: demux_film.c,v 1.68 2003/11/13 15:23:01 andruil Exp $ + * $Id: demux_film.c,v 1.69 2003/11/15 14:00:44 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -703,7 +703,7 @@ static void demux_film_send_headers(demux_plugin_t *this_gen) { } } -static int demux_film_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time) { +static int demux_film_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) { demux_film_t *this = (demux_film_t *) this_gen; int best_index; @@ -715,7 +715,7 @@ static int demux_film_seek (demux_plugin_t *this_gen, off_t start_pos, int start this->status = DEMUX_OK; _x_demux_flush_engine(this->stream); - if( !this->stream->demux_thread_running ) { + if( !playing ) { this->waiting_for_keyframe = 0; this->last_sample = 0; } @@ -848,8 +848,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_film_dispose; this->demux_plugin.get_status = demux_film_get_status; this->demux_plugin.get_stream_length = demux_film_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_film_get_capabilities; this->demux_plugin.get_optional_data = demux_film_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_fli.c b/src/demuxers/demux_fli.c index c828eedf1..dfaaaf176 100644 --- a/src/demuxers/demux_fli.c +++ b/src/demuxers/demux_fli.c @@ -24,7 +24,7 @@ * avoid while programming a FLI decoder, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: demux_fli.c,v 1.46 2003/11/11 18:44:52 f1rmb Exp $ + * $Id: demux_fli.c,v 1.47 2003/11/15 14:00:45 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -249,11 +249,11 @@ static void demux_fli_send_headers(demux_plugin_t *this_gen) { this->video_fifo->put (this->video_fifo, buf); } -static int demux_fli_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time) { +static int demux_fli_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) { demux_fli_t *this = (demux_fli_t *) this_gen; /* if thread is not running, initialize demuxer */ - if( !this->stream->demux_thread_running ) { + if( !playing ) { /* send new pts */ _x_demux_control_newpts(this->stream, 0, 0); @@ -305,8 +305,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_fli_dispose; this->demux_plugin.get_status = demux_fli_get_status; this->demux_plugin.get_stream_length = demux_fli_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_fli_get_capabilities; this->demux_plugin.get_optional_data = demux_fli_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -389,6 +387,6 @@ static void *init_plugin (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "fli", XINE_VERSION_CODE, NULL, init_plugin }, + { PLUGIN_DEMUX, 23, "fli", XINE_VERSION_CODE, NULL, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_idcin.c b/src/demuxers/demux_idcin.c index 3a7f57245..bd7c10443 100644 --- a/src/demuxers/demux_idcin.c +++ b/src/demuxers/demux_idcin.c @@ -65,7 +65,7 @@ * - if any bytes exceed 63, do not shift the bytes at all before * transmitting them to the video decoder * - * $Id: demux_idcin.c,v 1.46 2003/11/11 18:44:52 f1rmb Exp $ + * $Id: demux_idcin.c,v 1.47 2003/11/15 14:00:46 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -407,11 +407,11 @@ static void demux_idcin_send_headers(demux_plugin_t *this_gen) { } } -static int demux_idcin_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time) { +static int demux_idcin_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) { demux_idcin_t *this = (demux_idcin_t *) this_gen; /* if thread is not running, initialize demuxer */ - if( !this->stream->demux_thread_running ) { + if( !playing ) { /* send new pts */ _x_demux_control_newpts(this->stream, 0, 0); @@ -468,8 +468,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_idcin_dispose; this->demux_plugin.get_status = demux_idcin_get_status; this->demux_plugin.get_stream_length = demux_idcin_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_idcin_get_capabilities; this->demux_plugin.get_optional_data = demux_idcin_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_image.c b/src/demuxers/demux_image.c index 0ebbe6c03..3b238b1dd 100644 --- a/src/demuxers/demux_image.c +++ b/src/demuxers/demux_image.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_image.c,v 1.9 2003/11/11 18:44:52 f1rmb Exp $ + * $Id: demux_image.c,v 1.10 2003/11/15 14:00:47 miguelfreitas Exp $ * * image dummy demultiplexer */ @@ -97,7 +97,7 @@ static void demux_image_send_headers (demux_plugin_t *this_gen) { } static int demux_image_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_image_t *this = (demux_image_t *) this_gen; @@ -172,8 +172,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, this->demux_plugin.dispose = demux_image_dispose; this->demux_plugin.get_status = demux_image_get_status; this->demux_plugin.get_stream_length = demux_image_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_image_get_capabilities; this->demux_plugin.get_optional_data = demux_image_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -233,6 +231,6 @@ static void *init_class (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "image", XINE_VERSION_CODE, NULL, init_class }, + { PLUGIN_DEMUX, 23, "image", XINE_VERSION_CODE, NULL, init_class }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_ipmovie.c b/src/demuxers/demux_ipmovie.c index 49405c0de..a32a125de 100644 --- a/src/demuxers/demux_ipmovie.c +++ b/src/demuxers/demux_ipmovie.c @@ -23,7 +23,7 @@ * For more information regarding the Interplay MVE file format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: demux_ipmovie.c,v 1.17 2003/11/11 18:44:52 f1rmb Exp $ + * $Id: demux_ipmovie.c,v 1.18 2003/11/15 14:00:47 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -620,12 +620,12 @@ static void demux_ipmovie_send_headers(demux_plugin_t *this_gen) { } static int demux_ipmovie_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_ipmovie_t *this = (demux_ipmovie_t *) this_gen; /* if thread is not running, initialize demuxer */ - if( !this->stream->demux_thread_running ) { + if( !playing ) { /* send new pts */ _x_demux_control_newpts(this->stream, 0, 0); @@ -677,8 +677,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_ipmovie_dispose; this->demux_plugin.get_status = demux_ipmovie_get_status; this->demux_plugin.get_stream_length = demux_ipmovie_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_ipmovie_get_capabilities; this->demux_plugin.get_optional_data = demux_ipmovie_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_mng.c b/src/demuxers/demux_mng.c index e69709cd8..cce22ba7a 100644 --- a/src/demuxers/demux_mng.c +++ b/src/demuxers/demux_mng.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_mng.c,v 1.13 2003/11/11 18:44:52 f1rmb Exp $ + * $Id: demux_mng.c,v 1.14 2003/11/15 14:00:48 miguelfreitas Exp $ * * demux_mng.c, Demuxer plugin for Multiple-image Network Graphics format * @@ -218,7 +218,7 @@ static void demux_mng_send_headers(demux_mng_t *this){ this->video_fifo->put(this->video_fifo, buf); } -static int demux_mng_seek(demux_mng_t *this, off_t start_pos, int start_time){ +static int demux_mng_seek(demux_mng_t *this, off_t start_pos, int start_time, int playing){ return this->status; } @@ -262,8 +262,6 @@ static demux_plugin_t* open_plugin(demux_class_t *class_gen, xine_stream_t *stre this->demux_plugin.dispose = (void*)demux_mng_dispose; this->demux_plugin.get_status = (void*)demux_mng_get_status; this->demux_plugin.get_stream_length = (void*)demux_mng_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_mng_get_capabilities; this->demux_plugin.get_optional_data = demux_mng_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -367,6 +365,6 @@ static void *init_plugin(xine_t *xine, void *data){ } plugin_info_t xine_plugin_info[] = { - { PLUGIN_DEMUX, 22, "mng", XINE_VERSION_CODE, NULL, (void*)init_plugin}, + { PLUGIN_DEMUX, 23, "mng", XINE_VERSION_CODE, NULL, (void*)init_plugin}, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_mpeg.c b/src/demuxers/demux_mpeg.c index 760f7aba1..e69f1ecaa 100644 --- a/src/demuxers/demux_mpeg.c +++ b/src/demuxers/demux_mpeg.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_mpeg.c,v 1.127 2003/11/13 15:23:01 andruil Exp $ + * $Id: demux_mpeg.c,v 1.128 2003/11/15 14:00:48 miguelfreitas Exp $ * * demultiplexer for mpeg 1/2 program streams * reads streams of variable blocksizes @@ -916,7 +916,7 @@ static void demux_mpeg_send_headers (demux_plugin_t *this_gen) { } static int demux_mpeg_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_mpeg_t *this = (demux_mpeg_t *) this_gen; start_time /= 1000; @@ -940,7 +940,7 @@ static int demux_mpeg_seek (demux_plugin_t *this_gen, this->send_newpts = 1; this->status = DEMUX_OK ; - if( !this->stream->demux_thread_running ) { + if( !playing ) { this->preview_mode = 0; this->buf_flag_seek = 0; } else { @@ -990,8 +990,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_mpeg_dispose; this->demux_plugin.get_status = demux_mpeg_get_status; this->demux_plugin.get_stream_length = demux_mpeg_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_mpeg_get_capabilities; this->demux_plugin.get_optional_data = demux_mpeg_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -1170,6 +1168,6 @@ static void *init_plugin (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "mpeg", XINE_VERSION_CODE, NULL, init_plugin }, + { PLUGIN_DEMUX, 23, "mpeg", XINE_VERSION_CODE, NULL, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c index 0834d50f9..0e9765ed8 100644 --- a/src/demuxers/demux_mpeg_block.c +++ b/src/demuxers/demux_mpeg_block.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: demux_mpeg_block.c,v 1.197 2003/11/11 18:44:52 f1rmb Exp $ + * $Id: demux_mpeg_block.c,v 1.198 2003/11/15 14:00:49 miguelfreitas Exp $ * * demultiplexer for mpeg 1/2 program streams * used with fixed blocksize devices (like dvd/vcd) @@ -1195,7 +1195,7 @@ static void demux_mpeg_block_send_headers (demux_plugin_t *this_gen) { static int demux_mpeg_block_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_mpeg_block_t *this = (demux_mpeg_block_t *) this_gen; start_time /= 1000; @@ -1232,7 +1232,7 @@ static int demux_mpeg_block_seek (demux_plugin_t *this_gen, */ this->last_cell_time = 0; this->send_newpts = 1; - if( !this->stream->demux_thread_running ) { + if( !playing ) { this->buf_flag_seek = 0; this->nav_last_end_pts = this->nav_last_start_pts = 0; @@ -1339,8 +1339,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_mpeg_block_dispose; this->demux_plugin.get_status = demux_mpeg_block_get_status; this->demux_plugin.get_stream_length = demux_mpeg_block_get_stream_length; - this->demux_plugin.get_video_frame = demux_mpeg_block_get_video_frame; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_mpeg_block_get_capabilities; this->demux_plugin.get_optional_data = demux_mpeg_block_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -1530,6 +1528,6 @@ static void *init_plugin (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "mpeg_block", XINE_VERSION_CODE, NULL, init_plugin }, + { PLUGIN_DEMUX, 23, "mpeg_block", XINE_VERSION_CODE, NULL, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_mpeg_pes.c b/src/demuxers/demux_mpeg_pes.c index d9bcc79c2..ef28e7dcf 100644 --- a/src/demuxers/demux_mpeg_pes.c +++ b/src/demuxers/demux_mpeg_pes.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: demux_mpeg_pes.c,v 1.14 2003/11/11 18:44:52 f1rmb Exp $ + * $Id: demux_mpeg_pes.c,v 1.15 2003/11/15 14:00:51 miguelfreitas Exp $ * * demultiplexer for mpeg 2 PES (Packetized Elementary Streams) * reads streams of variable blocksizes @@ -1243,7 +1243,7 @@ static void demux_mpeg_pes_send_headers (demux_plugin_t *this_gen) { static int demux_mpeg_pes_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_mpeg_pes_t *this = (demux_mpeg_pes_t *) this_gen; start_time /= 1000; @@ -1280,7 +1280,7 @@ static int demux_mpeg_pes_seek (demux_plugin_t *this_gen, */ this->last_cell_time = 0; this->send_newpts = 1; - if( !this->stream->demux_thread_running ) { + if( !playing ) { this->buf_flag_seek = 0; this->nav_last_end_pts = this->nav_last_start_pts = 0; @@ -1387,8 +1387,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_mpeg_pes_dispose; this->demux_plugin.get_status = demux_mpeg_pes_get_status; this->demux_plugin.get_stream_length = demux_mpeg_pes_get_stream_length; - this->demux_plugin.get_video_frame = demux_mpeg_pes_get_video_frame; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_mpeg_pes_get_capabilities; this->demux_plugin.get_optional_data = demux_mpeg_pes_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -1541,6 +1539,6 @@ static void *init_plugin (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "mpeg_pes", XINE_VERSION_CODE, NULL, init_plugin }, + { PLUGIN_DEMUX, 23, "mpeg_pes", XINE_VERSION_CODE, NULL, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_mpgaudio.c b/src/demuxers/demux_mpgaudio.c index df37de69d..836d4aa95 100644 --- a/src/demuxers/demux_mpgaudio.c +++ b/src/demuxers/demux_mpgaudio.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: demux_mpgaudio.c,v 1.123 2003/11/13 15:23:01 andruil Exp $ + * $Id: demux_mpgaudio.c,v 1.124 2003/11/15 14:00:52 miguelfreitas Exp $ * * demultiplexer for mpeg audio (i.e. mp3) streams * @@ -908,7 +908,7 @@ static int xing_get_seek_time(demux_mpgaudio_t *this, off_t pos) } static int demux_mpgaudio_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_mpgaudio_t *this = (demux_mpgaudio_t *) this_gen; @@ -949,7 +949,7 @@ static int demux_mpgaudio_seek (demux_plugin_t *this_gen, this->status = DEMUX_OK; this->send_newpts = 1; - if( !this->stream->demux_thread_running ) { + if( !playing ) { this->buf_flag_seek = 0; } else { this->buf_flag_seek = 1; @@ -1115,7 +1115,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_mpgaudio_dispose; this->demux_plugin.get_status = demux_mpgaudio_get_status; this->demux_plugin.get_stream_length = demux_mpgaudio_get_stream_length; - this->demux_plugin.get_video_frame = NULL; this->demux_plugin.get_capabilities = demux_mpgaudio_get_capabilities; this->demux_plugin.get_optional_data = demux_mpgaudio_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_nsf.c b/src/demuxers/demux_nsf.c index ad80a694e..f632b37ff 100644 --- a/src/demuxers/demux_nsf.c +++ b/src/demuxers/demux_nsf.c @@ -30,7 +30,7 @@ * For more information regarding the NSF format, visit: * http://www.tripoint.org/kevtris/nes/nsfspec.txt * - * $Id: demux_nsf.c,v 1.17 2003/11/11 18:44:52 f1rmb Exp $ + * $Id: demux_nsf.c,v 1.18 2003/11/15 14:00:53 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -235,12 +235,12 @@ static void demux_nsf_send_headers(demux_plugin_t *this_gen) { } static int demux_nsf_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_nsf_t *this = (demux_nsf_t *) this_gen; /* if thread is not running, initialize demuxer */ - if( !this->stream->demux_thread_running ) { + if( !playing ) { /* send new pts */ _x_demux_control_newpts(this->stream, 0, 0); @@ -313,8 +313,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_nsf_dispose; this->demux_plugin.get_status = demux_nsf_get_status; this->demux_plugin.get_stream_length = demux_nsf_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_nsf_get_capabilities; this->demux_plugin.get_optional_data = demux_nsf_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_nsv.c b/src/demuxers/demux_nsv.c index 7b3ca9627..b85861dee 100644 --- a/src/demuxers/demux_nsv.c +++ b/src/demuxers/demux_nsv.c @@ -23,7 +23,7 @@ * For more information regarding the NSV file format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: demux_nsv.c,v 1.8 2003/11/13 15:23:01 andruil Exp $ + * $Id: demux_nsv.c,v 1.9 2003/11/15 14:00:54 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -358,13 +358,13 @@ static void demux_nsv_send_headers(demux_plugin_t *this_gen) { } static int demux_nsv_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_nsv_t *this = (demux_nsv_t *) this_gen; lprintf("starting demuxer\n"); /* if thread is not running, initialize demuxer */ - if( !this->stream->demux_thread_running ) { + if( !playing ) { /* send new pts */ _x_demux_control_newpts(this->stream, 0, 0); @@ -414,8 +414,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_nsv_dispose; this->demux_plugin.get_status = demux_nsv_get_status; this->demux_plugin.get_stream_length = demux_nsv_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_nsv_get_capabilities; this->demux_plugin.get_optional_data = demux_nsv_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -498,6 +496,6 @@ static void *demux_nsv_init_plugin (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "nsv", XINE_VERSION_CODE, NULL, demux_nsv_init_plugin }, + { PLUGIN_DEMUX, 23, "nsv", XINE_VERSION_CODE, NULL, demux_nsv_init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_ogg.c b/src/demuxers/demux_ogg.c index 665b670d6..569a472c1 100644 --- a/src/demuxers/demux_ogg.c +++ b/src/demuxers/demux_ogg.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_ogg.c,v 1.113 2003/11/11 18:44:52 f1rmb Exp $ + * $Id: demux_ogg.c,v 1.114 2003/11/15 14:00:54 miguelfreitas Exp $ * * demultiplexer for ogg streams * @@ -1442,7 +1442,7 @@ static void demux_ogg_send_headers (demux_plugin_t *this_gen) { } static int demux_ogg_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_ogg_t *this = (demux_ogg_t *) this_gen; int i; @@ -1536,7 +1536,7 @@ static int demux_ogg_seek (demux_plugin_t *this_gen, this->send_newpts = 1; - if( !this->stream->demux_thread_running ) { + if( !playing ) { this->status = DEMUX_OK; this->buf_flag_seek = 0; @@ -1688,8 +1688,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, this->demux_plugin.dispose = demux_ogg_dispose; this->demux_plugin.get_status = demux_ogg_get_status; this->demux_plugin.get_stream_length = demux_ogg_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_ogg_get_capabilities; this->demux_plugin.get_optional_data = demux_ogg_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -1756,6 +1754,6 @@ static void *init_class (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "ogg", XINE_VERSION_CODE, NULL, init_class }, + { PLUGIN_DEMUX, 23, "ogg", XINE_VERSION_CODE, NULL, init_class }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_pva.c b/src/demuxers/demux_pva.c index 61d2333d6..82de70f42 100644 --- a/src/demuxers/demux_pva.c +++ b/src/demuxers/demux_pva.c @@ -23,7 +23,7 @@ * For more information regarding the PVA file format, refer to this PDF: * http://www.technotrend.de/download/av_format_v1.pdf * - * $Id: demux_pva.c,v 1.13 2003/11/11 18:44:52 f1rmb Exp $ + * $Id: demux_pva.c,v 1.14 2003/11/15 14:00:55 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -337,7 +337,7 @@ static void demux_pva_send_headers(demux_plugin_t *this_gen) { #define SEEK_BUFFER_SIZE 1024 static int demux_pva_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_pva_t *this = (demux_pva_t *) this_gen; unsigned char seek_buffer[SEEK_BUFFER_SIZE]; @@ -377,7 +377,7 @@ static int demux_pva_seek (demux_plugin_t *this_gen, this->input->seek(this->input, -(SEEK_BUFFER_SIZE - i), SEEK_CUR); /* if thread is not running, initialize demuxer */ - if( !this->stream->demux_thread_running ) { + if( !playing ) { this->send_newpts = 1; @@ -434,8 +434,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_pva_dispose; this->demux_plugin.get_status = demux_pva_get_status; this->demux_plugin.get_stream_length = demux_pva_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_pva_get_capabilities; this->demux_plugin.get_optional_data = demux_pva_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -517,6 +515,6 @@ static void *init_plugin (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "pva", XINE_VERSION_CODE, NULL, init_plugin }, + { PLUGIN_DEMUX, 23, "pva", XINE_VERSION_CODE, NULL, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c index e88dc8cf8..3a4b11d7b 100644 --- a/src/demuxers/demux_qt.c +++ b/src/demuxers/demux_qt.c @@ -30,7 +30,7 @@ * build_frame_table * free_qt_info * - * $Id: demux_qt.c,v 1.171 2003/11/13 15:23:01 andruil Exp $ + * $Id: demux_qt.c,v 1.172 2003/11/15 14:00:56 miguelfreitas Exp $ * */ @@ -2559,7 +2559,7 @@ static int binary_seek(qt_trak *trak, off_t start_pos, int start_time) { } static int demux_qt_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_qt_t *this = (demux_qt_t *) this_gen; qt_trak *video_trak = NULL; @@ -2621,7 +2621,7 @@ static int demux_qt_seek (demux_plugin_t *this_gen, * do only flush if already running (seeking). * otherwise decoder_config is flushed too. */ - if(this->stream->demux_thread_running) + if(playing) _x_demux_flush_engine(this->stream); return this->status; @@ -2689,8 +2689,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_qt_dispose; this->demux_plugin.get_status = demux_qt_get_status; this->demux_plugin.get_stream_length = demux_qt_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_qt_get_capabilities; this->demux_plugin.get_optional_data = demux_qt_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -2824,6 +2822,6 @@ static void *init_plugin (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "quicktime", XINE_VERSION_CODE, NULL, init_plugin }, + { PLUGIN_DEMUX, 23, "quicktime", XINE_VERSION_CODE, NULL, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_rawdv.c b/src/demuxers/demux_rawdv.c index 052d148ae..737e2d4b0 100644 --- a/src/demuxers/demux_rawdv.c +++ b/src/demuxers/demux_rawdv.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_rawdv.c,v 1.13 2003/11/11 18:44:53 f1rmb Exp $ + * $Id: demux_rawdv.c,v 1.14 2003/11/15 14:01:00 miguelfreitas Exp $ * * demultiplexer for raw dv streams */ @@ -283,7 +283,7 @@ static void demux_raw_dv_send_headers (demux_plugin_t *this_gen) { } static int demux_raw_dv_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_raw_dv_t *this = (demux_raw_dv_t *) this_gen; @@ -345,8 +345,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_raw_dv_dispose; this->demux_plugin.get_status = demux_raw_dv_get_status; this->demux_plugin.get_stream_length = demux_raw_dv_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_raw_dv_get_capabilities; this->demux_plugin.get_optional_data = demux_raw_dv_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -427,6 +425,6 @@ static void *init_plugin (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "rawdv", XINE_VERSION_CODE, NULL, init_plugin }, + { PLUGIN_DEMUX, 23, "rawdv", XINE_VERSION_CODE, NULL, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c index ba2771d42..81fb0a48f 100644 --- a/src/demuxers/demux_real.c +++ b/src/demuxers/demux_real.c @@ -30,7 +30,7 @@ * * Based on FFmpeg's libav/rm.c. * - * $Id: demux_real.c,v 1.70 2003/11/13 15:23:01 andruil Exp $ + * $Id: demux_real.c,v 1.71 2003/11/15 14:01:01 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -1157,7 +1157,7 @@ static void demux_real_send_headers(demux_plugin_t *this_gen) { } static int demux_real_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_real_t *this = (demux_real_t *) this_gen; real_index_entry_t *index, *other_index = NULL; @@ -1198,7 +1198,7 @@ static int demux_real_seek (demux_plugin_t *this_gen, this->input->seek(this->input, index[i].offset, SEEK_SET); - if(this->stream->demux_thread_running) { + if(playing) { this->buf_flag_seek = 1; _x_demux_flush_engine(this->stream); } @@ -1344,8 +1344,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_real_dispose; this->demux_plugin.get_status = demux_real_get_status; this->demux_plugin.get_stream_length = demux_real_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_real_get_capabilities; this->demux_plugin.get_optional_data = demux_real_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -1399,6 +1397,6 @@ static void *init_class (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "real", XINE_VERSION_CODE, NULL, init_class }, + { PLUGIN_DEMUX, 23, "real", XINE_VERSION_CODE, NULL, init_class }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_realaudio.c b/src/demuxers/demux_realaudio.c index b790cfa5c..ca03b1a5c 100644 --- a/src/demuxers/demux_realaudio.c +++ b/src/demuxers/demux_realaudio.c @@ -22,7 +22,7 @@ * RealAudio File Demuxer by Mike Melanson (melanson@pcisys.net) * improved by James Stembridge (jstembridge@users.sourceforge.net) * - * $Id: demux_realaudio.c,v 1.25 2003/11/11 18:44:53 f1rmb Exp $ + * $Id: demux_realaudio.c,v 1.26 2003/11/15 14:01:02 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -303,7 +303,7 @@ static void demux_ra_send_headers(demux_plugin_t *this_gen) { } static int demux_ra_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_ra_t *this = (demux_ra_t *) this_gen; @@ -385,8 +385,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_ra_dispose; this->demux_plugin.get_status = demux_ra_get_status; this->demux_plugin.get_stream_length = demux_ra_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_ra_get_capabilities; this->demux_plugin.get_optional_data = demux_ra_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_roq.c b/src/demuxers/demux_roq.c index 0a36756d4..f86063f56 100644 --- a/src/demuxers/demux_roq.c +++ b/src/demuxers/demux_roq.c @@ -23,7 +23,7 @@ * For more information regarding the RoQ file format, visit: * http://www.csse.monash.edu.au/~timf/ * - * $Id: demux_roq.c,v 1.45 2003/11/11 18:44:53 f1rmb Exp $ + * $Id: demux_roq.c,v 1.46 2003/11/15 14:01:02 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -352,12 +352,12 @@ static void demux_roq_send_headers(demux_plugin_t *this_gen) { } static int demux_roq_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_roq_t *this = (demux_roq_t *) this_gen; /* if thread is not running, initialize demuxer */ - if( !this->stream->demux_thread_running ) { + if( !playing ) { /* send new pts */ _x_demux_control_newpts(this->stream, 0, 0); @@ -418,8 +418,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_roq_dispose; this->demux_plugin.get_status = demux_roq_get_status; this->demux_plugin.get_stream_length = demux_roq_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_roq_get_capabilities; this->demux_plugin.get_optional_data = demux_roq_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_slave.c b/src/demuxers/demux_slave.c index 270da8838..2013a3d94 100644 --- a/src/demuxers/demux_slave.c +++ b/src/demuxers/demux_slave.c @@ -21,7 +21,7 @@ */ /* - * $Id: demux_slave.c,v 1.7 2003/11/11 18:44:53 f1rmb Exp $ + * $Id: demux_slave.c,v 1.8 2003/11/15 14:01:02 miguelfreitas Exp $ * * demuxer for slave "protocol" * master xine must be started with XINE_PARAM_BROADCASTER_PORT set, that is, @@ -290,7 +290,7 @@ static void demux_slave_send_headers (demux_plugin_t *this_gen) { this->send_newpts = 1; } -static int demux_slave_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time) { +static int demux_slave_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) { demux_slave_t *this = (demux_slave_t *) this_gen; return this->status; @@ -380,8 +380,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_slave_dispose; this->demux_plugin.get_status = demux_slave_get_status; this->demux_plugin.get_stream_length = demux_slave_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_slave_get_capabilities; this->demux_plugin.get_optional_data = demux_slave_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -440,6 +438,6 @@ static void *init_plugin (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "slave", XINE_VERSION_CODE, NULL, init_plugin }, + { PLUGIN_DEMUX, 23, "slave", XINE_VERSION_CODE, NULL, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_smjpeg.c b/src/demuxers/demux_smjpeg.c index 8a03a9e6b..dc2bb98f1 100644 --- a/src/demuxers/demux_smjpeg.c +++ b/src/demuxers/demux_smjpeg.c @@ -23,7 +23,7 @@ * For more information on the SMJPEG file format, visit: * http://www.lokigames.com/development/smjpeg.php3 * - * $Id: demux_smjpeg.c,v 1.44 2003/11/13 15:23:01 andruil Exp $ + * $Id: demux_smjpeg.c,v 1.45 2003/11/15 14:01:02 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -351,11 +351,11 @@ static void demux_smjpeg_send_headers(demux_plugin_t *this_gen) { } } -static int demux_smjpeg_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time) { +static int demux_smjpeg_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) { demux_smjpeg_t *this = (demux_smjpeg_t *) this_gen; /* if thread is not running, initialize demuxer */ - if( !this->stream->demux_thread_running ) { + if( !playing ) { this->status = DEMUX_OK; } @@ -413,8 +413,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_smjpeg_dispose; this->demux_plugin.get_status = demux_smjpeg_get_status; this->demux_plugin.get_stream_length = demux_smjpeg_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_smjpeg_get_capabilities; this->demux_plugin.get_optional_data = demux_smjpeg_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_snd.c b/src/demuxers/demux_snd.c index 053579192..fcc10e9ec 100644 --- a/src/demuxers/demux_snd.c +++ b/src/demuxers/demux_snd.c @@ -21,7 +21,7 @@ /* * SND/AU File Demuxer by Mike Melanson (melanson@pcisys.net) * - * $Id: demux_snd.c,v 1.34 2003/11/11 18:44:53 f1rmb Exp $ + * $Id: demux_snd.c,v 1.35 2003/11/15 14:01:03 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -234,7 +234,7 @@ static void demux_snd_send_headers(demux_plugin_t *this_gen) { } } -static int demux_snd_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time) { +static int demux_snd_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) { demux_snd_t *this = (demux_snd_t *) this_gen; this->seek_flag = 1; @@ -311,8 +311,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_snd_dispose; this->demux_plugin.get_status = demux_snd_get_status; this->demux_plugin.get_stream_length = demux_snd_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_snd_get_capabilities; this->demux_plugin.get_optional_data = demux_snd_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_str.c b/src/demuxers/demux_str.c index 808a1178e..9589902cf 100644 --- a/src/demuxers/demux_str.c +++ b/src/demuxers/demux_str.c @@ -24,7 +24,7 @@ * This demuxer handles either raw STR files (which are just a concatenation * of raw compact disc sectors) or STR files with RIFF headers. * - * $Id: demux_str.c,v 1.18 2003/11/13 15:23:01 andruil Exp $ + * $Id: demux_str.c,v 1.19 2003/11/15 14:01:03 miguelfreitas Exp $ */ /* @@ -495,7 +495,7 @@ static void demux_str_send_headers(demux_plugin_t *this_gen) { } } -static int demux_str_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time) { +static int demux_str_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) { demux_str_t *this = (demux_str_t *) this_gen; _x_demux_flush_engine (this->stream); @@ -563,8 +563,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_str_dispose; this->demux_plugin.get_status = demux_str_get_status; this->demux_plugin.get_stream_length = demux_str_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_str_get_capabilities; this->demux_plugin.get_optional_data = demux_str_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c index 32684664a..28f138801 100644 --- a/src/demuxers/demux_ts.c +++ b/src/demuxers/demux_ts.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: demux_ts.c,v 1.93 2003/11/11 18:44:53 f1rmb Exp $ + * $Id: demux_ts.c,v 1.94 2003/11/15 14:01:03 miguelfreitas Exp $ * * Demultiplexer for MPEG2 Transport Streams. * @@ -1779,7 +1779,7 @@ static void demux_ts_send_headers (demux_plugin_t *this_gen) { } static int demux_ts_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_ts_t *this = (demux_ts_t *) this_gen; int i; @@ -1809,7 +1809,7 @@ static int demux_ts_seek (demux_plugin_t *this_gen, m->buffered_bytes = 0; } - if( !this->stream->demux_thread_running ) { + if( !playing ) { this->status = DEMUX_OK; this->buf_flag_seek = 0; @@ -1982,8 +1982,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, this->demux_plugin.dispose = demux_ts_dispose; this->demux_plugin.get_status = demux_ts_get_status; this->demux_plugin.get_stream_length = demux_ts_get_stream_length; - this->demux_plugin.get_video_frame = demux_ts_get_video_frame; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_ts_get_capabilities; this->demux_plugin.get_optional_data = demux_ts_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -2082,6 +2080,6 @@ static void *init_class (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "mpeg-ts", XINE_VERSION_CODE, NULL, init_class }, + { PLUGIN_DEMUX, 23, "mpeg-ts", XINE_VERSION_CODE, NULL, init_class }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_voc.c b/src/demuxers/demux_voc.c index 3948e25b3..dee9d2654 100644 --- a/src/demuxers/demux_voc.c +++ b/src/demuxers/demux_voc.c @@ -25,7 +25,7 @@ * It will only play that block if it is PCM data. More variations will be * supported as they are encountered. * - * $Id: demux_voc.c,v 1.34 2003/11/11 18:44:53 f1rmb Exp $ + * $Id: demux_voc.c,v 1.35 2003/11/15 14:01:04 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -228,7 +228,7 @@ static void demux_voc_send_headers(demux_plugin_t *this_gen) { } } -static int demux_voc_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time) { +static int demux_voc_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) { demux_voc_t *this = (demux_voc_t *) this_gen; this->seek_flag = 1; @@ -305,8 +305,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_voc_dispose; this->demux_plugin.get_status = demux_voc_get_status; this->demux_plugin.get_stream_length = demux_voc_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_voc_get_capabilities; this->demux_plugin.get_optional_data = demux_voc_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_vox.c b/src/demuxers/demux_vox.c index 6aaa6059a..959a06e9f 100644 --- a/src/demuxers/demux_vox.c +++ b/src/demuxers/demux_vox.c @@ -22,7 +22,7 @@ * VOX Demuxer by Mike Melanson (melanson@pcisys.net) * This a demuxer for .vox files containing raw Dialogic ADPCM data. * - * $Id: demux_vox.c,v 1.9 2003/11/11 18:44:53 f1rmb Exp $ + * $Id: demux_vox.c,v 1.10 2003/11/15 14:01:04 miguelfreitas Exp $ * */ @@ -134,11 +134,11 @@ static void demux_vox_send_headers(demux_plugin_t *this_gen) { } } -static int demux_vox_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time) { +static int demux_vox_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) { demux_vox_t *this = (demux_vox_t *) this_gen; /* if thread is not running, initialize demuxer */ - if( !this->stream->demux_thread_running ) { + if( !playing ) { /* send new pts */ _x_demux_control_newpts(this->stream, 0, 0); @@ -215,8 +215,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_vox_dispose; this->demux_plugin.get_status = demux_vox_get_status; this->demux_plugin.get_stream_length = demux_vox_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_vox_get_capabilities; this->demux_plugin.get_optional_data = demux_vox_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_vqa.c b/src/demuxers/demux_vqa.c index e00ec8fcc..6271343ec 100644 --- a/src/demuxers/demux_vqa.c +++ b/src/demuxers/demux_vqa.c @@ -29,7 +29,7 @@ * block needs information from the previous audio block in order to be * decoded, thus making random seeking difficult. * - * $Id: demux_vqa.c,v 1.36 2003/11/13 15:23:01 andruil Exp $ + * $Id: demux_vqa.c,v 1.37 2003/11/15 14:01:04 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -294,12 +294,12 @@ static void demux_vqa_send_headers(demux_plugin_t *this_gen) { } static int demux_vqa_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_vqa_t *this = (demux_vqa_t *) this_gen; /* if thread is not running, initialize demuxer */ - if( !this->stream->demux_thread_running ) { + if( !playing ) { this->status = DEMUX_OK; } @@ -346,8 +346,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_vqa_dispose; this->demux_plugin.get_status = demux_vqa_get_status; this->demux_plugin.get_stream_length = demux_vqa_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_vqa_get_capabilities; this->demux_plugin.get_optional_data = demux_vqa_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_wav.c b/src/demuxers/demux_wav.c index 195c3d116..bda28783c 100644 --- a/src/demuxers/demux_wav.c +++ b/src/demuxers/demux_wav.c @@ -22,7 +22,7 @@ * MS WAV File Demuxer by Mike Melanson (melanson@pcisys.net) * based on WAV specs that are available far and wide * - * $Id: demux_wav.c,v 1.51 2003/11/11 18:44:53 f1rmb Exp $ + * $Id: demux_wav.c,v 1.52 2003/11/15 14:01:05 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -296,7 +296,7 @@ static void demux_wav_send_headers(demux_plugin_t *this_gen) { } static int demux_wav_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_wav_t *this = (demux_wav_t *) this_gen; @@ -376,8 +376,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_wav_dispose; this->demux_plugin.get_status = demux_wav_get_status; this->demux_plugin.get_stream_length = demux_wav_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_wav_get_capabilities; this->demux_plugin.get_optional_data = demux_wav_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_wc3movie.c b/src/demuxers/demux_wc3movie.c index 47daf72da..de483b843 100644 --- a/src/demuxers/demux_wc3movie.c +++ b/src/demuxers/demux_wc3movie.c @@ -24,7 +24,7 @@ * For more information on the MVE file format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: demux_wc3movie.c,v 1.45 2003/11/13 15:23:01 andruil Exp $ + * $Id: demux_wc3movie.c,v 1.46 2003/11/15 14:01:05 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -509,7 +509,7 @@ static int open_mve_file(demux_mve_t *this) { } static int demux_mve_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { /* * MVE files are comprised of a series of SHOTs. A SHOT begins when the @@ -663,8 +663,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_mve_dispose; this->demux_plugin.get_status = demux_mve_get_status; this->demux_plugin.get_stream_length = demux_mve_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_mve_get_capabilities; this->demux_plugin.get_optional_data = demux_mve_get_optional_data; this->demux_plugin.demux_class = class_gen; diff --git a/src/demuxers/demux_yuv4mpeg2.c b/src/demuxers/demux_yuv4mpeg2.c index b2f6221d5..02373bf2f 100644 --- a/src/demuxers/demux_yuv4mpeg2.c +++ b/src/demuxers/demux_yuv4mpeg2.c @@ -24,7 +24,7 @@ * tools, visit: * http://mjpeg.sourceforge.net/ * - * $Id: demux_yuv4mpeg2.c,v 1.30 2003/11/11 18:44:53 f1rmb Exp $ + * $Id: demux_yuv4mpeg2.c,v 1.31 2003/11/15 14:01:05 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -326,7 +326,7 @@ static void demux_yuv4mpeg2_send_headers(demux_plugin_t *this_gen) { } static int demux_yuv4mpeg2_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_yuv4mpeg2_t *this = (demux_yuv4mpeg2_t *) this_gen; start_time /= 1000; @@ -352,7 +352,7 @@ static int demux_yuv4mpeg2_seek (demux_plugin_t *this_gen, _x_demux_flush_engine (this->stream); /* if thread is not running, initialize demuxer */ - if( !this->stream->demux_thread_running ) { + if( !playing ) { /* send new pts */ _x_demux_control_newpts(this->stream, 0, 0); @@ -406,8 +406,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.dispose = demux_yuv4mpeg2_dispose; this->demux_plugin.get_status = demux_yuv4mpeg2_get_status; this->demux_plugin.get_stream_length = demux_yuv4mpeg2_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_yuv4mpeg2_get_capabilities; this->demux_plugin.get_optional_data = demux_yuv4mpeg2_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -490,6 +488,6 @@ static void *init_plugin (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "yuv4mpeg2", XINE_VERSION_CODE, NULL, init_plugin }, + { PLUGIN_DEMUX, 23, "yuv4mpeg2", XINE_VERSION_CODE, NULL, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/demux_yuv_frames.c b/src/demuxers/demux_yuv_frames.c index fa711c81e..73dd000a9 100644 --- a/src/demuxers/demux_yuv_frames.c +++ b/src/demuxers/demux_yuv_frames.c @@ -20,7 +20,7 @@ */ /* - * $Id: demux_yuv_frames.c,v 1.10 2003/11/11 18:44:53 f1rmb Exp $ + * $Id: demux_yuv_frames.c,v 1.11 2003/11/15 14:01:05 miguelfreitas Exp $ * * dummy demultiplexer for raw yuv frames (delivered by v4l) */ @@ -127,7 +127,7 @@ static void demux_yuv_frames_send_headers (demux_plugin_t *this_gen){ } static int demux_yuv_frames_seek (demux_plugin_t *this_gen, - off_t start_pos, int start_time) { + off_t start_pos, int start_time, int playing) { demux_yuv_frames_t *this = (demux_yuv_frames_t *) this_gen; this->seek_flag = 1; @@ -200,8 +200,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, this->demux_plugin.dispose = demux_yuv_frames_dispose; this->demux_plugin.get_status = demux_yuv_frames_get_status; this->demux_plugin.get_stream_length = demux_yuv_frames_get_stream_length; - this->demux_plugin.get_video_frame = NULL; - this->demux_plugin.got_video_frame_cb= NULL; this->demux_plugin.get_capabilities = demux_yuv_frames_get_capabilities; this->demux_plugin.get_optional_data = demux_yuv_frames_get_optional_data; this->demux_plugin.demux_class = class_gen; @@ -260,7 +258,7 @@ static void *init_class (xine_t *xine, void *data) { plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "yuv_frames", XINE_VERSION_CODE, NULL, init_class }, + { PLUGIN_DEMUX, 23, "yuv_frames", XINE_VERSION_CODE, NULL, init_class }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/group_audio.c b/src/demuxers/group_audio.c index 4c1d5b419..68ecb124c 100644 --- a/src/demuxers/group_audio.c +++ b/src/demuxers/group_audio.c @@ -19,7 +19,7 @@ * * This file contains plugin entries for several demuxers used in games * - * $Id: group_audio.c,v 1.8 2003/08/25 21:51:39 f1rmb Exp $ + * $Id: group_audio.c,v 1.9 2003/11/15 14:01:05 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -37,16 +37,16 @@ plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "ac3", XINE_VERSION_CODE, NULL, demux_ac3_init_plugin }, - { PLUGIN_DEMUX, 22, "aud", XINE_VERSION_CODE, NULL, demux_aud_init_plugin }, - { PLUGIN_DEMUX, 22, "aiff", XINE_VERSION_CODE, NULL, demux_aiff_init_plugin }, - { PLUGIN_DEMUX, 22, "cdda", XINE_VERSION_CODE, NULL, demux_cdda_init_plugin }, - { PLUGIN_DEMUX, 22, "mp3", XINE_VERSION_CODE, NULL, demux_mpgaudio_init_class }, - { PLUGIN_DEMUX, 22, "nsf", XINE_VERSION_CODE, NULL, demux_nsf_init_plugin }, - { PLUGIN_DEMUX, 22, "realaudio", XINE_VERSION_CODE, NULL, demux_realaudio_init_plugin }, - { PLUGIN_DEMUX, 22, "snd", XINE_VERSION_CODE, NULL, demux_snd_init_plugin }, - { PLUGIN_DEMUX, 22, "voc", XINE_VERSION_CODE, NULL, demux_voc_init_plugin }, - { PLUGIN_DEMUX, 22, "vox", XINE_VERSION_CODE, NULL, demux_vox_init_plugin }, - { PLUGIN_DEMUX, 22, "wav", XINE_VERSION_CODE, NULL, demux_wav_init_plugin }, + { PLUGIN_DEMUX, 23, "ac3", XINE_VERSION_CODE, NULL, demux_ac3_init_plugin }, + { PLUGIN_DEMUX, 23, "aud", XINE_VERSION_CODE, NULL, demux_aud_init_plugin }, + { PLUGIN_DEMUX, 23, "aiff", XINE_VERSION_CODE, NULL, demux_aiff_init_plugin }, + { PLUGIN_DEMUX, 23, "cdda", XINE_VERSION_CODE, NULL, demux_cdda_init_plugin }, + { PLUGIN_DEMUX, 23, "mp3", XINE_VERSION_CODE, NULL, demux_mpgaudio_init_class }, + { PLUGIN_DEMUX, 23, "nsf", XINE_VERSION_CODE, NULL, demux_nsf_init_plugin }, + { PLUGIN_DEMUX, 23, "realaudio", XINE_VERSION_CODE, NULL, demux_realaudio_init_plugin }, + { PLUGIN_DEMUX, 23, "snd", XINE_VERSION_CODE, NULL, demux_snd_init_plugin }, + { PLUGIN_DEMUX, 23, "voc", XINE_VERSION_CODE, NULL, demux_voc_init_plugin }, + { PLUGIN_DEMUX, 23, "vox", XINE_VERSION_CODE, NULL, demux_vox_init_plugin }, + { PLUGIN_DEMUX, 23, "wav", XINE_VERSION_CODE, NULL, demux_wav_init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/demuxers/group_games.c b/src/demuxers/group_games.c index 55e207b1f..ee2ba51cc 100644 --- a/src/demuxers/group_games.c +++ b/src/demuxers/group_games.c @@ -19,7 +19,7 @@ * * This file contains plugin entries for several demuxers used in games * - * $Id: group_games.c,v 1.6 2003/08/25 21:51:39 f1rmb Exp $ + * $Id: group_games.c,v 1.7 2003/11/15 14:01:05 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -37,15 +37,15 @@ plugin_info_t xine_plugin_info[] = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_DEMUX, 22, "wve", XINE_VERSION_CODE, NULL, demux_eawve_init_plugin}, - { PLUGIN_DEMUX, 22, "idcin", XINE_VERSION_CODE, NULL, demux_idcin_init_plugin }, - { PLUGIN_DEMUX, 22, "ipmovie", XINE_VERSION_CODE, NULL, demux_ipmovie_init_plugin }, - { PLUGIN_DEMUX, 22, "vqa", XINE_VERSION_CODE, NULL, demux_vqa_init_plugin }, - { PLUGIN_DEMUX, 22, "wc3movie", XINE_VERSION_CODE, NULL, demux_wc3movie_init_plugin }, - { PLUGIN_DEMUX, 22, "roq", XINE_VERSION_CODE, NULL, demux_roq_init_plugin }, - { PLUGIN_DEMUX, 22, "str", XINE_VERSION_CODE, NULL, demux_str_init_plugin }, - { PLUGIN_DEMUX, 22, "film", XINE_VERSION_CODE, NULL, demux_film_init_plugin }, - { PLUGIN_DEMUX, 22, "smjpeg", XINE_VERSION_CODE, NULL, demux_smjpeg_init_plugin }, - { PLUGIN_DEMUX, 22, "fourxm", XINE_VERSION_CODE, NULL, demux_fourxm_init_plugin }, + { PLUGIN_DEMUX, 23, "wve", XINE_VERSION_CODE, NULL, demux_eawve_init_plugin}, + { PLUGIN_DEMUX, 23, "idcin", XINE_VERSION_CODE, NULL, demux_idcin_init_plugin }, + { PLUGIN_DEMUX, 23, "ipmovie", XINE_VERSION_CODE, NULL, demux_ipmovie_init_plugin }, + { PLUGIN_DEMUX, 23, "vqa", XINE_VERSION_CODE, NULL, demux_vqa_init_plugin }, + { PLUGIN_DEMUX, 23, "wc3movie", XINE_VERSION_CODE, NULL, demux_wc3movie_init_plugin }, + { PLUGIN_DEMUX, 23, "roq", XINE_VERSION_CODE, NULL, demux_roq_init_plugin }, + { PLUGIN_DEMUX, 23, "str", XINE_VERSION_CODE, NULL, demux_str_init_plugin }, + { PLUGIN_DEMUX, 23, "film", XINE_VERSION_CODE, NULL, demux_film_init_plugin }, + { PLUGIN_DEMUX, 23, "smjpeg", XINE_VERSION_CODE, NULL, demux_smjpeg_init_plugin }, + { PLUGIN_DEMUX, 23, "fourxm", XINE_VERSION_CODE, NULL, demux_fourxm_init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index dfbaf865d..2e28fc6fc 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine.c,v 1.263 2003/11/15 13:01:01 miguelfreitas Exp $ + * $Id: xine.c,v 1.264 2003/11/15 14:00:35 miguelfreitas Exp $ */ /* @@ -964,7 +964,8 @@ static int xine_play_internal (xine_stream_t *stream, int start_pos, int start_t /* seek to new position (no data is sent to decoders yet) */ demux_status = stream->demux_plugin->seek (stream->demux_plugin, - pos, start_time); + pos, start_time, + stream->demux_thread_running); stream->demux_action_pending = 0; @@ -1494,24 +1495,9 @@ int xine_get_video_frame (xine_stream_t *stream, int *duration, /* msec */ int *format, uint8_t *img) { - int ret; - - pthread_mutex_lock (&stream->frontend_lock); - - if (stream->status != XINE_STATUS_STOP) - xine_stop_internal (stream); - - if (stream->demux_plugin->get_video_frame) - ret = stream->demux_plugin->get_video_frame (stream->demux_plugin, - timestamp, width, height, - ratio_code, duration, - format, img); - else - ret = 0; - - pthread_mutex_unlock (&stream->frontend_lock); - - return ret; + printf ("xine: xine_get_video_frame not implemented yet.\n"); + abort (); + return 0; } int xine_get_spu_lang (xine_stream_t *stream, int channel, char *lang) { |