#include <vlc_charset.h>
#include <vlc_meta.h>
+#include <assert.h>
+
/*****************************************************************************
* Module descriptor
*****************************************************************************/
return VLC_SUCCESS;
}
- *pf = 0.0;
i64 = stream_Size( p_demux->s );
if( i64 > 0 )
*pf = (double)1.0*stream_Tell( p_demux->s ) / (double)i64;
+ else
+ *pf = 0.0;
return VLC_SUCCESS;
case DEMUX_GET_TIME:
case DEMUX_GET_LENGTH:
pi64 = (int64_t*)va_arg( args, int64_t * );
- *pi64 = 0;
if( p_sys->i_our_duration <= 0 )
+ {
+ *pi64 = 0;
return VLC_EGENERIC;
+ }
/* our stored duration is in ms, so... */
*pi64 = INT64_C(1000) * p_sys->i_our_duration;
fmt.audio.i_flavor = i_flavor;
case VLC_FOURCC('c','o','o','k'):
case VLC_FOURCC('a','t','r','c'):
- if( i_subpacket_size <= 0 )
+ if( i_subpacket_size <= 0 ||
+ i_frame_size / i_subpacket_size <= 0 )
{
es_format_Clean( &fmt );
return VLC_EGENERIC;