/*****************************************************************************
* Preamble
*****************************************************************************/
-#include <stdlib.h>
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include <string.h>
+#include <math.h>
-#include "config.h"
#include <vlc_common.h>
#include <vlc_plugin.h>
#include <vlc_vout.h>
#include <vlc_codec.h>
#include <vlc_osd.h>
-#include <vlc_block.h>
-#include <vlc_filter.h>
-#include <vlc_stream.h>
-#include <vlc_xml.h>
-
-#include <math.h>
-
-#ifdef HAVE_ERRNO_H
-# include <errno.h>
-#endif
+#include <vlc_input.h>
#include <csri/csri.h>
#include <csri/stream.h>
return NULL;
p_block = *pp_block;
+ if( p_block->i_rate != 0 )
+ p_block->i_length = p_block->i_length * p_block->i_rate / INPUT_RATE_DEFAULT;
*pp_block = NULL;
if( p_block->i_buffer == 0 || p_block->p_buffer[0] == '\0' )
p_fmt->i_visible_width, p_fmt->i_visible_height,
(const char*)&p_fmt->i_chroma );
#endif
-
+ /* XXX On x86 at least our RGBA is mapped to their BGRA
+ * TODO confirm that is the same on big endian cpu */
fmt = *p_fmt;
fmt.i_chroma = VLC_FOURCC('R','G','B','A');
fmt.i_width = fmt.i_visible_width;
struct csri_fmt csri_fmt;
memset(&csri_fmt, 0, sizeof(csri_fmt));
- csri_fmt.pixfmt = CSRI_F_RGBA;
+ csri_fmt.pixfmt = CSRI_F_BGRA;
csri_fmt.width = fmt.i_width;
csri_fmt.height = fmt.i_height;
if( csri_request_fmt( p_sys->p_instance, &csri_fmt ) )
/* */
//msg_Dbg( p_dec, "TS %lf", ts * 0.000001 );
memset( &csri_frame, 0, sizeof(csri_frame) );
- csri_frame.pixfmt = CSRI_F_RGBA;
+ csri_frame.pixfmt = CSRI_F_BGRA;
csri_frame.planes[0] = (unsigned char*)p_spu_region->picture.Y_PIXELS;
csri_frame.strides[0] = p_spu_region->picture.Y_PITCH;
csri_render( p_sys->p_instance, &csri_frame, ts * 0.000001 );