+ case VIDEO_ES:
+ if( !p_input->p_fmt->video.i_frame_rate ||
+ !p_input->p_fmt->video.i_frame_rate_base )
+ {
+ msg_Warn( p_mux, "Missing frame rate, assuming 25fps" );
+ p_input->p_fmt->video.i_frame_rate = 25;
+ p_input->p_fmt->video.i_frame_rate_base = 1;
+ }
+
+ switch( p_stream->i_fourcc )
+ {
+ case VLC_FOURCC( 'm', 'p', 'g', 'v' ):
+ case VLC_FOURCC( 'm', 'p', '4', 'v' ):
+ case VLC_FOURCC( 'D', 'I', 'V', '3' ):
+ case VLC_FOURCC( 'M', 'J', 'P', 'G' ):
+ case VLC_FOURCC( 'W', 'M', 'V', '1' ):
+ case VLC_FOURCC( 'W', 'M', 'V', '2' ):
+ case VLC_FOURCC( 'W', 'M', 'V', '3' ):
+ case VLC_FOURCC( 'S', 'N', 'O', 'W' ):
+ case VLC_FOURCC( 'd', 'r', 'a', 'c' ):
+ p_stream->p_oggds_header = malloc( sizeof(oggds_header_t) );
+ memset( p_stream->p_oggds_header, 0, sizeof(oggds_header_t) );
+ p_stream->p_oggds_header->i_packet_type = PACKET_TYPE_HEADER;
+
+ memcpy( p_stream->p_oggds_header->stream_type, "video", 5 );
+ if( p_stream->i_fourcc == VLC_FOURCC( 'm', 'p', '4', 'v' ) )
+ {
+ memcpy( p_stream->p_oggds_header->sub_type, "XVID", 4 );
+ }
+ else if( p_stream->i_fourcc == VLC_FOURCC( 'D', 'I', 'V', '3' ) )
+ {
+ memcpy( p_stream->p_oggds_header->sub_type, "DIV3", 4 );
+ }
+ else