[FFmpeg-devel] [PATCH/RFC] Ryan Martell's native mms code

Björn Axelsson bjorn.axelsson
Thu Aug 9 15:56:57 CEST 2007

On Thu, 2007-08-09 at 14:35 +0200, Reimar D?ffinger wrote:
> Hello,
> On Thu, Aug 09, 2007 at 02:24:08PM +0200, Bj?rn Axelsson wrote:
> > I have merged Ryan's native_mms work mentioned in an earlier mail with
> > the SVN trunk, to produce an easily reviewed patch. I have tried not to
> > change anything from Ryan's code except what was needed to make it
> > compile.
> > 
> > native_mms.c is mostly and will still require substantial work until it
> > is acceptable. It should probably also be split up into three files: one
> > for common functions, one for tcp/udp and one for http. 
> Actually I don't see why it needs to be a demuxer at all instead of only
> a protocol. At least in MPlayer splitting it this way works (though
> stream selection admittedly is ugly and possibly not suitable in this
> way for ffmpeg).

Ryan mentions this in his original mail:
  Using a URLProtocol instead was an option, but it doesn't support  
  streaming by timestamp.  So instead I mirrored rtp stuff.


I believe what he is referring is that URLProtocol::url_seek() only
seeking by byte position, while AVInputFormat::read_seek() can seek by
both timestamp and byte position.
This, and other functionality such as play/pause, can be solved by
exposing a rich but specialized API from native_mms for the asf demuxer
to use. Something like ff_mms_read_seek(), ff_mms_read_play(),
ff_mms_read_pause() etc. It's not a very nice solution with a
specialized interface, but it should work.

Bj?rn Axelsson                    Phone: +46-(0)90-18 98 97
Intinor AB                          Fax: +46-(0)920-757 10
Interactive Television & Digital Media Distribution

More information about the ffmpeg-devel mailing list