From f1588c975cbc2e28980d4863b4430f92f7a74b98 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Cl=C3=A9ment=20Stenac?= Date: Sun, 30 Apr 2006 17:36:48 +0000 Subject: [PATCH 1/1] Fortune --- doc/fortunes.txt | 6 ++++++ modules/demux/asf/asf.c | 2 ++ modules/mux/asf.c | 7 +++++++ modules/mux/avi.c | 33 ++++++++++++++++++++------------- 4 files changed, 35 insertions(+), 13 deletions(-) diff --git a/doc/fortunes.txt b/doc/fortunes.txt index eebd558fda..ce5a69ddde 100644 --- a/doc/fortunes.txt +++ b/doc/fortunes.txt @@ -642,3 +642,9 @@ VLC is the greatest thing since sliced bread! -- http://forum.videolan.org/ % +* E-bola is bouncing up and down while enjoying: HTTP/1.1 200 OK +* E-bola is bouncing up and down while enjoying: Content-type: text/html; charset=UTF-8 +* E-bola is bouncing up and down while enjoying: Cache-Control: no-cache +* E-bola is bouncing up and down while enjoying: Content-Length: 25 +* E-bola is bouncing up and down while enjoying: -- +% diff --git a/modules/demux/asf/asf.c b/modules/demux/asf/asf.c index c315a0486f..a851486d52 100644 --- a/modules/demux/asf/asf.c +++ b/modules/demux/asf/asf.c @@ -664,6 +664,8 @@ static int DemuxInit( demux_t *p_demux ) es_format_Init( &fmt, AUDIO_ES, 0 ); i_format = GetWLE( &p_data[0] ); + + fprintf( stderr, "Wave format %i\n", i_format ); wf_tag_to_fourcc( i_format, &fmt.i_codec, NULL ); fmt.audio.i_channels = GetWLE( &p_data[2] ); fmt.audio.i_rate = GetDWLE( &p_data[4] ); diff --git a/modules/mux/asf.c b/modules/mux/asf.c index 169b96d1a5..7dd2ba3f40 100644 --- a/modules/mux/asf.c +++ b/modules/mux/asf.c @@ -1,3 +1,4 @@ +static int i_global = 0, i_passed = 0, i_written = 0; /***************************************************************************** * asf.c: asf muxer module for vlc ***************************************************************************** @@ -583,6 +584,8 @@ static int DelStream( sout_mux_t *p_mux, sout_input_t *p_input ) static int Mux( sout_mux_t *p_mux ) { sout_mux_sys_t *p_sys = p_mux->p_sys; + i_global++; + fprintf( stderr, "Called %i\n", i_global ); if( p_sys->b_write_header ) { @@ -608,6 +611,8 @@ static int Mux( sout_mux_t *p_mux ) /* not enough data */ return VLC_SUCCESS; } + i_passed++; + fprintf( stderr, "Passed %i\n", i_passed ); if( p_sys->i_dts_first < 0 ) { @@ -625,6 +630,8 @@ static int Mux( sout_mux_t *p_mux ) if( ( pk = asf_packet_create( p_mux, tk, data ) ) ) { + i_written ++; + fprintf( stderr, "Written %i\n", i_written ); sout_AccessOutWrite( p_mux->p_access, pk ); } } diff --git a/modules/mux/avi.c b/modules/mux/avi.c index a5328744ed..09f688516e 100644 --- a/modules/mux/avi.c +++ b/modules/mux/avi.c @@ -1,3 +1,4 @@ +static int i_global = 0; /***************************************************************************** * avi.c ***************************************************************************** @@ -110,7 +111,7 @@ struct sout_mux_sys_t }; // FIXME FIXME -#define HDR_SIZE 10240 +#define HDR_SIZE 4096 /* Flags in avih */ #define AVIF_HASINDEX 0x00000010 // Index at end of file? @@ -404,6 +405,7 @@ static int Mux ( sout_mux_t *p_mux ) avi_stream_t *p_stream; int i_stream; int i; +i_global++; if( p_sys->b_write_header ) { @@ -474,7 +476,6 @@ static int Mux ( sout_mux_t *p_mux ) { p_data = block_Realloc( p_data, 0, p_data->i_buffer + 1 ); } - p_sys->i_movi_size += p_data->i_buffer; sout_AccessOutWrite( p_mux->p_access, p_data ); } @@ -763,9 +764,9 @@ static int avi_HeaderAdd_strf( sout_mux_t *p_mux, bo_AddDWordLE( p_bo, p_stream->p_bih->biYPelsPerMeter ); bo_AddDWordLE( p_bo, p_stream->p_bih->biClrUsed ); bo_AddDWordLE( p_bo, p_stream->p_bih->biClrImportant ); - bo_AddMem( p_bo, - p_stream->p_bih->biSize - sizeof( BITMAPINFOHEADER ), - (uint8_t*)&p_stream->p_bih[1] ); +// bo_AddMem( p_bo, +// p_stream->p_bih->biSize - sizeof( BITMAPINFOHEADER ), +// (uint8_t*)&p_stream->p_bih[1] ); break; } @@ -791,32 +792,38 @@ static block_t *avi_HeaderCreateRIFF( sout_mux_t *p_mux ) int i_stream; int i_maxbytespersec; int i_junk; - buffer_out_t bo; + buffer_out_t bo, bo_save; - p_hdr = block_New( p_mux, HDR_SIZE ); - memset( p_hdr->p_buffer, 0, HDR_SIZE ); + /* Real header + LIST-movi */ + p_hdr = block_New( p_mux, HDR_SIZE + 12 ); + memset( p_hdr->p_buffer, 0, HDR_SIZE + 12 ); - bo_Init( &bo, HDR_SIZE, p_hdr->p_buffer ); + bo_Init( &bo, HDR_SIZE + 12, p_hdr->p_buffer ); bo_AddFCC( &bo, "RIFF" ); - bo_AddDWordLE( &bo, p_sys->i_movi_size + HDR_SIZE - 8 + p_sys->i_idx1_size ); + bo_AddDWordLE( &bo, p_sys->i_movi_size + HDR_SIZE + p_sys->i_idx1_size ); bo_AddFCC( &bo, "AVI " ); bo_AddFCC( &bo, "LIST" ); - bo_AddDWordLE( &bo, HDR_SIZE - 8); + memcpy( &bo_save, &bo, sizeof( buffer_out_t ) ); + bo_AddDWordLE( &bo, 0 ); bo_AddFCC( &bo, "hdrl" ); avi_HeaderAdd_avih( p_mux, &bo ); - for( i_stream = 0,i_maxbytespersec = 0; i_stream < p_sys->i_streams; i_stream++ ) + for( i_stream = 0, i_maxbytespersec = 0; i_stream < p_sys->i_streams; + i_stream++ ) { avi_HeaderAdd_strl( p_mux, &bo, &p_sys->stream[i_stream] ); } - i_junk = HDR_SIZE - bo.i_buffer - 8 - 12; + bo_AddDWordLE( &bo_save, bo.i_buffer - bo_save.i_buffer - 4 ); + + i_junk = HDR_SIZE - bo.i_buffer - 8; bo_AddFCC( &bo, "JUNK" ); bo_AddDWordLE( &bo, i_junk ); bo.i_buffer += i_junk; + fprintf( stderr, "Writing list-movi at %i\n", bo.i_buffer ); bo_AddFCC( &bo, "LIST" ); bo_AddDWordLE( &bo, p_sys->i_movi_size + 4 ); bo_AddFCC( &bo, "movi" ); -- 2.39.2