Browse Source

demux: libasf: parent stream properties to container

pull/165/head
François Cartegnie 2 years ago
committed by Steve Lhomme
parent
commit
906e31714f
  1. 24
      modules/demux/asf/libasf.c

24
modules/demux/asf/libasf.c

@ -106,6 +106,7 @@ static char *AsfObjectHelperReadString( const uint8_t *p_peek, size_t i_peek, ui
*
****************************************************************************/
static int ASF_ReadObject( stream_t *, asf_object_t *, asf_object_t * );
static void ASF_ParentObject( asf_object_t *p_father, asf_object_t *p_obj );
/****************************************************************************
*
@ -1020,6 +1021,7 @@ static int ASF_ReadObject_extended_stream_properties( stream_t *s,
{
/* This p_sp will be inserted by ReadRoot later */
p_esp->p_sp = (asf_object_stream_properties_t*)p_sp;
ASF_ParentObject( p_obj, p_sp );
}
}
@ -1778,31 +1780,9 @@ asf_object_root_t *ASF_ReadObjectRoot( stream_t *s, int b_seekable )
&asf_object_header_extension_guid, 0 );
if( p_hdr_ext )
{
int i_ext_stream;
p_root->p_metadata =
ASF_FindObject( p_hdr_ext,
&asf_object_metadata_guid, 0 );
/* Special case for broken designed file format :( */
i_ext_stream = ASF_CountObject( p_hdr_ext,
&asf_object_extended_stream_properties_guid );
for( int i = 0; i < i_ext_stream; i++ )
{
asf_object_t *p_esp =
ASF_FindObject( p_hdr_ext,
&asf_object_extended_stream_properties_guid, i );
if( p_esp->ext_stream.p_sp )
{
asf_object_t *p_sp =
(asf_object_t*)p_esp->ext_stream.p_sp;
/* Insert this p_sp */
p_root->p_hdr->p_last->common.p_next = p_sp;
p_root->p_hdr->p_last = p_sp;
p_sp->common.p_father = (asf_object_t*)p_root->p_hdr;
}
}
}
ASF_ObjectDumpDebug( VLC_OBJECT(s),

Loading…
Cancel
Save