summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/hackersguide/stream.sgml2
-rw-r--r--src/demuxers/demux.h26
-rw-r--r--src/demuxers/demux_4xm.c8
-rw-r--r--src/demuxers/demux_ac3.c6
-rw-r--r--src/demuxers/demux_aiff.c6
-rw-r--r--src/demuxers/demux_asf.c8
-rw-r--r--src/demuxers/demux_aud.c6
-rw-r--r--src/demuxers/demux_avi.c8
-rw-r--r--src/demuxers/demux_cdda.c6
-rw-r--r--src/demuxers/demux_eawve.c6
-rw-r--r--src/demuxers/demux_elem.c10
-rw-r--r--src/demuxers/demux_film.c8
-rw-r--r--src/demuxers/demux_fli.c10
-rw-r--r--src/demuxers/demux_idcin.c8
-rw-r--r--src/demuxers/demux_image.c8
-rw-r--r--src/demuxers/demux_ipmovie.c8
-rw-r--r--src/demuxers/demux_mng.c8
-rw-r--r--src/demuxers/demux_mpeg.c10
-rw-r--r--src/demuxers/demux_mpeg_block.c10
-rw-r--r--src/demuxers/demux_mpeg_pes.c10
-rw-r--r--src/demuxers/demux_mpgaudio.c7
-rw-r--r--src/demuxers/demux_nsf.c8
-rw-r--r--src/demuxers/demux_nsv.c10
-rw-r--r--src/demuxers/demux_ogg.c10
-rw-r--r--src/demuxers/demux_pva.c10
-rw-r--r--src/demuxers/demux_qt.c10
-rw-r--r--src/demuxers/demux_rawdv.c8
-rw-r--r--src/demuxers/demux_real.c10
-rw-r--r--src/demuxers/demux_realaudio.c6
-rw-r--r--src/demuxers/demux_roq.c8
-rw-r--r--src/demuxers/demux_slave.c8
-rw-r--r--src/demuxers/demux_smjpeg.c8
-rw-r--r--src/demuxers/demux_snd.c6
-rw-r--r--src/demuxers/demux_str.c6
-rw-r--r--src/demuxers/demux_ts.c10
-rw-r--r--src/demuxers/demux_voc.c6
-rw-r--r--src/demuxers/demux_vox.c8
-rw-r--r--src/demuxers/demux_vqa.c8
-rw-r--r--src/demuxers/demux_wav.c6
-rw-r--r--src/demuxers/demux_wc3movie.c6
-rw-r--r--src/demuxers/demux_yuv4mpeg2.c10
-rw-r--r--src/demuxers/demux_yuv_frames.c8
-rw-r--r--src/demuxers/group_audio.c24
-rw-r--r--src/demuxers/group_games.c22
-rw-r--r--src/xine-engine/xine.c26
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>&nbsp;&nbsp;&nbsp;int demux_seek(demux_plugin_t *this_gen, off_t start_pos, int start_time);</programlisting>
+ <programlisting>&nbsp;&nbsp;&nbsp;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) {