/*****************************************************************************
* decoder.c: stats decoder plugin for vlc.
*****************************************************************************
- * Copyright (C) 2002 the VideoLAN team
- * $Id$
+ * Copyright (C) 2002-2008 the VideoLAN team
*
* Authors: Samuel Hocevar <sam@zoy.org>
+ * Pierre d'Herbemont <pdherbemont@videolan.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
# include "config.h"
#endif
-#include <vlc/vlc.h>
+#include <vlc_common.h>
#include <vlc_codec.h>
#include "stats.h"
p_dec->pf_decode_audio = NULL;
p_dec->pf_decode_sub = NULL;
+ /* */
+ es_format_Init( &p_dec->fmt_out, VIDEO_ES, VLC_CODEC_I420 );
+ p_dec->fmt_out.video.i_width = 100;
+ p_dec->fmt_out.video.i_height = 100;
+ p_dec->fmt_out.video.i_sar_num = 1;
+ p_dec->fmt_out.video.i_sar_den = 1;
+
return VLC_SUCCESS;
}
****************************************************************************/
static picture_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
{
- decoder_sys_t *p_sys = p_dec->p_sys;
block_t *p_block;
+ picture_t * p_pic = NULL;
if( !pp_block || !*pp_block ) return NULL;
p_block = *pp_block;
+ p_pic = decoder_NewPicture( p_dec );
+
if( p_block->i_buffer == kBufferSize )
{
- msg_Dbg( p_dec, "got %d ms offset", (mdate() - *(mtime_t *)p_block->p_buffer) / 1000 );
+ msg_Dbg( p_dec, "got %"PRIu64" ms",
+ *(mtime_t *)p_block->p_buffer / 1000 );
+ msg_Dbg( p_dec, "got %"PRIu64" ms offset",
+ (mdate() - *(mtime_t *)p_block->p_buffer) / 1000 );
+ *(mtime_t *)(p_pic->p->p_pixels) = *(mtime_t *)p_block->p_buffer;
}
else
- msg_Dbg( p_dec, "got offset of size %d", p_block->i_buffer );
+ {
+ msg_Dbg( p_dec, "got a packet not from stats demuxer" );
+ *(mtime_t *)(p_pic->p->p_pixels) = mdate();
+ }
+
+ p_pic->date = p_block->i_pts > VLC_TS_INVALID ?
+ p_block->i_pts : p_block->i_dts;
+ p_pic->b_force = true;
block_Release( p_block );
- return NULL;
+ *pp_block = NULL;
+ return p_pic;
}
/*****************************************************************************