summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/demuxers/demux_rawdv.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/demuxers/demux_rawdv.c b/src/demuxers/demux_rawdv.c
index 55b652e18..6c7d672e8 100644
--- a/src/demuxers/demux_rawdv.c
+++ b/src/demuxers/demux_rawdv.c
@@ -19,7 +19,7 @@
*/
/*
- * $Id: demux_rawdv.c,v 1.28 2006/07/10 22:08:13 dgp85 Exp $
+ * $Id: demux_rawdv.c,v 1.29 2006/08/08 03:15:02 miguelfreitas Exp $
*
* demultiplexer for raw dv streams
*/
@@ -202,6 +202,12 @@ static void demux_raw_dv_send_headers (demux_plugin_t *this_gen) {
_x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_BITRATE,
PAL_FRAME_SIZE * PAL_FRAME_RATE * 8);
}
+
+ _x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_WIDTH,
+ bih->biWidth);
+ _x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_HEIGHT,
+ bih->biHeight);
+
bih->biSize = sizeof(xine_bmiheader);
bih->biPlanes = 1;
bih->biBitCount = 24;
@@ -312,6 +318,7 @@ static int demux_raw_dv_seek (demux_plugin_t *this_gen,
_x_demux_control_newpts (this->stream, this->pts, BUF_FLAG_SEEK);
+ this->status = DEMUX_OK;
return this->status;
}
@@ -322,7 +329,10 @@ static void demux_raw_dv_dispose (demux_plugin_t *this_gen) {
}
static int demux_raw_dv_get_stream_length(demux_plugin_t *this_gen) {
- return 0 ; /*FIXME: implement */
+ demux_raw_dv_t *this = (demux_raw_dv_t *) this_gen;
+
+ return (int)((int64_t) this->duration * this->input->get_length (this->input) /
+ (this->frame_size * 90));
}
static uint32_t demux_raw_dv_get_capabilities(demux_plugin_t *this_gen) {