[MPlayer-dev-eng] [PATCH 2/3] Support MPEG streams embedded ingeneric MOV tracks

Petr Baudis pasky at ucw.cz
Sun May 28 17:04:31 CEST 2006


Dear diary, on Wed, May 24, 2006 at 10:16:07AM CEST, I got a letter
where Nico Sabbi <nsabbi at email.it> said that...
> >+	// FIXME: Also honor trak->samples[0].size.
> >+	demuxer->stream->start_pos = trak->samples[0].pos;
> >+	// Hack from demux_rtp.c:
> >  
> 
> no, when I told you to use demux_rtp.cpp as an example I wished you 
> would use all
> the block therein
> 
> >+	{
> >+	// DEMUXER_TYPE_UNKNOWN? I don't know if there can't be other kinds
> >+	// of MPEG here as well. --pasky
> >+	demuxer_t* od = demux_open(demuxer->stream, DEMUXER_TYPE_MPEG_PS,
> >+	                           audio_id, video_id, dvdsub_id, NULL);
> >+	return new_demuxers_demuxer(od, od, od);
> >+	}
> >+    }

I'm sorry, I don't understand - do you mean this block from demux_rtp.c?

  // Hack: If audio and video are demuxed together on a single RTP stream,
  // then create a new "demuxer_t" structure to allow the higher-level
  // code to recognize this:
  if (demux_is_multiplexed_rtp_stream(demuxer)) {
    stream_t* s = new_ds_stream(demuxer->video);
    demuxer_t* od = demux_open(s, DEMUXER_TYPE_UNKNOWN,
                               audio_id, video_id, dvdsub_id, NULL);
    demuxer = new_demuxers_demuxer(od, od, od);
  }

The only extra thing there is building an extra stream, but I think
that is not needed here since we already have a stream. I do not
understand mplayer internals that well, so perhaps I'm missing
something...

> rejected. If you have to make it work so nastily you had better make 
> mov_check_file()
> return DEMUXER_TYPE_MPEG_PS; in alternative you can implement this patch 
> properly
> and build a proper linked demuxer

Having this in mov_check_file() would mean that I have to call
lschunks() from there and parse much larger portion of the MOV file at
that time, which in turn means that a video and audio track will be
created at that point, and overally the patch would be a lot more messy,
I think. However, I still don't see how is the way in the original patch
nasty, I just set up a new demuxer on the stream. Could you please
elaborate?

Thanks,

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
A person is just about as big as the things that make them angry.



More information about the MPlayer-dev-eng mailing list