I'm studying MP4 demux code, and find that there are so many special cases handled in mp4.c.
after looking through ISOIEC14496 specs and APPLE's qtfileformat , I still cannot figure out some cases.
for example:
.....
if( !p_enda )
p_enda = MP4_BoxGet( p_sample, "enda" );
if( p_track->fmt.i_cat == AUDIO_ES && ( p_track->i_sample_size == 1 || p_track->i_sample_size == 2 ) ) // why sample_size=1 or 2 means something, where defines this situation???
{
.......
can anybody help me? tks!