summaryrefslogtreecommitdiff
path: root/src/libffmpeg/xine_decoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libffmpeg/xine_decoder.c')
-rw-r--r--src/libffmpeg/xine_decoder.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/libffmpeg/xine_decoder.c b/src/libffmpeg/xine_decoder.c
index eb2c11e22..9ddbf2a7b 100644
--- a/src/libffmpeg/xine_decoder.c
+++ b/src/libffmpeg/xine_decoder.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_decoder.c,v 1.71 2002/11/18 00:32:20 miguelfreitas Exp $
+ * $Id: xine_decoder.c,v 1.72 2002/11/20 11:57:43 mroi Exp $
*
* xine decoder plugin using ffmpeg
*
@@ -132,7 +132,7 @@ static void init_video_codec (ff_video_decoder_t *this, AVCodec *codec) {
}
this->decoder_ok = 1;
- this->stream->video_out->open (this->stream->video_out);
+ this->stream->video_out->open (this->stream->video_out, this->stream);
/* needed to play streams generated by MS ISO MPEG4 codec.
Michael Niedermayer explained:
@@ -575,7 +575,7 @@ static void ff_decode_data (video_decoder_t *this_gen, buf_element_t *buf) {
}
}
- this->skipframes = img->draw(img);
+ this->skipframes = img->draw(img, this->stream);
if( this->skipframes < 0 )
this->skipframes = 0;
img->free(img);
@@ -649,7 +649,7 @@ static void ff_dispose (video_decoder_t *this_gen) {
if (this->decoder_ok) {
avcodec_close (this->context);
- this->stream->video_out->close(this->stream->video_out);
+ this->stream->video_out->close(this->stream->video_out, this->stream);
this->decoder_ok = 0;
}
@@ -810,7 +810,7 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
if (!this->output_open) {
this->output_open = this->stream->audio_out->open(this->stream->audio_out,
- this->audio_bits, this->audio_sample_rate,
+ this->stream, this->audio_bits, this->audio_sample_rate,
(this->audio_channels == 2) ? AO_CAP_MODE_STEREO : AO_CAP_MODE_MONO);
}
@@ -867,7 +867,8 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
audio_buffer->vpts = buf->pts;
buf->pts = 0; /* only first buffer gets the real pts */
- this->stream->audio_out->put_buffer (this->stream->audio_out, audio_buffer);
+ this->stream->audio_out->put_buffer (this->stream->audio_out,
+ audio_buffer, this->stream);
out += bytes_to_send;
}
@@ -907,7 +908,7 @@ static void ff_audio_dispose (audio_decoder_t *this_gen) {
ff_audio_decoder_t *this = (ff_audio_decoder_t *) this_gen;
if (this->output_open)
- this->stream->audio_out->close (this->stream->audio_out);
+ this->stream->audio_out->close (this->stream->audio_out, this->stream);
this->output_open = 0;
free(this->buf);
@@ -1013,7 +1014,7 @@ static decoder_info_t dec_info_ffmpeg_audio = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_DECODER, 12, "ffmpegvideo", XINE_VERSION_CODE, &dec_info_ffmpeg_video, init_video_plugin },
- { PLUGIN_AUDIO_DECODER, 11, "ffmpegaudio", XINE_VERSION_CODE, &dec_info_ffmpeg_audio, init_audio_plugin },
+ { PLUGIN_VIDEO_DECODER, 13, "ffmpegvideo", XINE_VERSION_CODE, &dec_info_ffmpeg_video, init_video_plugin },
+ { PLUGIN_AUDIO_DECODER, 12, "ffmpegaudio", XINE_VERSION_CODE, &dec_info_ffmpeg_audio, init_audio_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};