Commit Graph

26 Commits

Author SHA1 Message Date
Philip Gladstone
31def22984 * Bad buffer management bug. Forgot to take care of the case
where doubling the size of the buffer is not enough.

Originally committed as revision 633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-30 20:37:51 +00:00
Philip Gladstone
cde25790ec * New stuff and bug fixes:
* Change to dynamically allocated buffers. Should reduce memory footprint significantly
  as well as eliminate a call to av_abort!
* Better version of WMP rate switching infrastructure. Currently turned off till
  the PTS fixes are in.
* Added a Redirect type feature. This allows URLs served by ffserver to just
  redirect to somewhere else. You might want to do this. Really this needs to
  be enhanced -- say to handle all 404 pages.
* Add mechanism to automatically fire up ffmpeg on ffserver start. This is turned
  on by adding the Launch keyword to the <feed> definition.
* Add logic to take care of non-wmp user agents requesting .asf files. They now get
  a [reference] file with an appropriate mime type. This fixes the mplayer problem.
* Make sure that we have a large buffer for the stats page.
* Add a FaviconURL keyword to the status stream definition. If set, then it
  generates the appropriate HTML so that IE and Mozilla will display the favicon
  as appropriate. OK -- this is a pretty random feature.
* If the ffmpeg is running as a child of ffserver, then report it's CPU usage
  on the status page. [This is linux only -- maybe somebody could do the work for
  another OS. The tricky thing is getting the 'ps' command right.]

Originally committed as revision 630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-30 02:49:07 +00:00
Philip Gladstone
3120d2a265 * Add first cut of code to handle Windows Media Player rate switching
requests. The current state is that at startup, WMP will get the
  best stream that it can handle. However, subsequent rate switching
  only puts a message in the log saying what the new stream ought to
  be. Solving this will be tricky. I guess that we would have to wait for
  key frames to appear in the new stream, and then switch over to it.
  Some care would be needed to deal with the PTS of the new stream
  versus the old stream.

Originally committed as revision 602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-26 03:36:34 +00:00
Fabrice Bellard
773a21b8fe license/copyright change - fixed header mess
Originally committed as revision 588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-25 22:26:19 +00:00
Philip Gladstone
b582f314f7 * Added yet more output to the status page to try and track down a problem
Originally committed as revision 579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-24 02:06:15 +00:00
Philip Gladstone
ec3b22326d * Add support for time-limiting a live stream. (Some guy streamed one of
my pondcam streams for 24 hours! I'll bet he wasn't watching.
* Add code to allocate the priv_data so that the ffm header can be
  parsed again. [Fix crash]

Originally committed as revision 577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-24 01:18:19 +00:00
Fabrice Bellard
bd7cf6ad3a use new api (NOT TESTED) - suppressed strlcpy
Originally committed as revision 549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-20 16:33:46 +00:00
Philip Gladstone
2e04edb36e Fix a segfault when handling errors or .asx or .ram files. Silly bug
on my part.

Originally committed as revision 536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-20 03:02:09 +00:00
Fabrice Bellard
0f1578afcc use av memory functions
Originally committed as revision 531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-18 23:17:41 +00:00
Philip Gladstone
a6e14edde0 * If a stream gets stuck in WAIT_FEED, then disconnecting the other end
will clear out the stream. I think that this is really a linux bug in
  the handling of poll, but I did a workaround anyway.
* Improve the statistics output and prevent a buffer overrun when lots
  of clients are connected.
* Process ffm input when it is received and don't always be one ffm
  packet behind.
* Try to avoid going through the poll loop when not required.

Originally committed as revision 514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-18 21:33:05 +00:00
Philip Gladstone
79c4ea3c6c * Change the default behaviour to start streaming as soon as possible (i.e.
no waiting for key frames).
* Provide StartSendOnKey paramter for a stream to wait until we get key frames
  before sending.
* Add the codec names into the status page. May help debugging problems.

Originally committed as revision 507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-17 01:53:28 +00:00
Philip Gladstone
42a63c6a02 * Add code to configure the following:
* prebuffering/preroll a live stream -- this improves startup time
  * videoqmin/videoqmax/videoqdiff -- codec parameters
  * maximum bandwidth for live streams
* Add support for .ram and .rpm extensions mapping onto .rm
* Make the status page show bandwidth. Also make the .asf and .rm
  links go to .asx and .ram files.
* Make a stream only start streaming when it gets a keyframe on each
  stream. This is arguable, and it maybe ought to be restricted to
  live streams. However, since I don't think that file streams work,
  this is a step in the right direction. It improves the startup delay.
* Log an error if we are unable to delete the temp feed file.

Originally committed as revision 501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-16 02:03:07 +00:00
Philip Gladstone
7434ba6d53 * Improve logging -- now actually gives you the number of bytes sent
* Print out the logging information that comes from WMP (you'd be suprised what
  it sends!
* Fix a remotely exploitable buffer overflow (argh!)
* Add support for automatically serving up .asx files. It generates an automatic
  redirect to the associated .asf file (with the same parameters). I guess that
  someone who understands the realaudio equivalent could hack that it as well.

Originally committed as revision 482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-10 02:20:27 +00:00
Juanjo
e7f9c67417 - HQ option for ffserver. Thanks to D Richard Felker III.
Originally committed as revision 478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-09 07:43:07 +00:00
Juanjo
ba9b374f89 - Changed default qmin = 3 as ffmpeg.c
- Less bitrate tolerance since we are streaming.

Originally committed as revision 474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-09 02:33:27 +00:00
Philip Gladstone
f747e6d343 * Fix a nasty problem with output buffering not have enough (or large enough)
buffers. In fact, the code was pretty much shot.
* Try to fool WMP into thinking that we are a microsoft server.
* When we establish a stream to a user, copy the codec information from
  that saved as part of the stream. This gives us the real frame_size and
  other important parameters.
* ASF needs to know about key frames, so add some logic to copy this information
  around.
* When we get the data from ffmpeg as part of a feed, make sure that we save
  the actual codec parameters.
* Allow configuration of AudioCodec and VideoCodec
* Make sure that we delete the feed file before starting. This is not ideal
  but it makes things work a whole lot better!

Originally committed as revision 454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-09 01:11:08 +00:00
Juanjo
10bb7023a2 - Added force_pts to av_write_packet() to be able to force PTS, this helps
(and fix) stream copying. By now force_pts it's just honoured by the MPEG
muxer. ASF could honour this also, but it should be fixed to use Tickers
first.
- MPEG audio decoder exports it's frame size in bytes.
- Hope this fix the floating point exception found in ffserver.

Originally committed as revision 382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-07 21:44:29 +00:00
Michael Niedermayer
68d7eef971 trying to fix qscale==0
Originally committed as revision 341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-19 04:31:10 +00:00
Michael Niedermayer
f5d1f41b11 fixing warning
Originally committed as revision 315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-26 23:11:08 +00:00
Zdenek Kabelac
608d0dee6f * Also include time.h for nanosleep()
by:  Philipp Matthias Hahn <pmhahn@titan.lahn.de>

Originally committed as revision 309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-18 10:20:03 +00:00
Michael Niedermayer
d8cf5aea49 optimized the normal bitstream writer, its faster than the alternative one on p3 now ... lets hope its at least not slower on p4 & k7
Originally committed as revision 299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-15 00:14:01 +00:00
Fabrice Bellard
63bdb086b1 fixed prototype change
Originally committed as revision 150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-09-25 18:27:53 +00:00
Fabrice Bellard
dd2af5aa4e jpeg hack
Originally committed as revision 89 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-15 13:03:37 +00:00
Fabrice Bellard
85f07f223d merge
Originally committed as revision 6 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-22 14:37:44 +00:00
Fabrice Bellard
1b58d58dda removing old files
Originally committed as revision 4 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-19 20:46:37 +00:00
Fabrice Bellard
9aeeeb63f7 Initial revision
Originally committed as revision 2 to svn://svn.ffmpeg.org/ffmpeg/trunk
2000-12-20 00:02:47 +00:00