* rawvideo.c: Pseudo video decoder/packetizer for raw video data
*****************************************************************************
* Copyright (C) 2001, 2002 VideoLAN
- * $Id: rawvideo.c,v 1.8 2003/11/16 21:07:30 gbazin Exp $
+ * $Id: rawvideo.c,v 1.11 2004/01/07 19:20:29 gbazin Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
/*****************************************************************************
* Preamble
*****************************************************************************/
-#include <stdlib.h> /* malloc(), free() */
-#include <string.h> /* strdup() */
-
#include <vlc/vlc.h>
#include <vlc/decoder.h>
-#include <vlc/input.h>
-
-#include "codecs.h"
/*****************************************************************************
* decoder_sys_t : raw video decoder descriptor
* Module descriptor
*****************************************************************************/
vlc_module_begin();
- set_description( _("Pseudo Raw Video decoder") );
+ set_description( _("Pseudo raw video decoder") );
set_capability( "decoder", 50 );
set_callbacks( OpenDecoder, CloseDecoder );
add_submodule();
- set_description( _("Pseudo Raw Video packetizer") );
+ set_description( _("Pseudo raw video packetizer") );
set_capability( "packetizer", 100 );
set_callbacks( OpenPacketizer, CloseDecoder );
vlc_module_end();
p_block = *pp_block;
- if( !p_sys->i_pts && !p_block->i_pts )
+ if( !p_sys->i_pts && !p_block->i_pts && !p_block->i_dts )
{
/* We've just started the stream, wait for the first PTS. */
block_Release( p_block );
}
/* Date management */
- if( p_block->i_pts > 0 && p_block->i_pts != p_sys->i_pts )
+ if( p_block->i_pts > 0 || p_block->i_dts > 0 )
{
- p_sys->i_pts = p_block->i_pts;
+ if( p_block->i_pts > 0 ) p_sys->i_pts = p_block->i_pts;
+ else if( p_block->i_dts > 0 ) p_sys->i_pts = p_block->i_dts;
}
if( p_block->i_buffer < p_sys->i_raw_size )