- really produce readable files (instead of 0 byte files or headers only)
- use bitexact, fastint dct, simple idct and qscale
- gives consistent results across several archs
- still fails on altivec ppc
Originally committed as revision 5129 to svn://svn.ffmpeg.org/ffmpeg/trunk
* In the test cases, the swf, asf, jpg file formats all work
* The avi case doesn't play in winamp. I suspect that the duration field
of zero confuses it
* The RM doesn't play. This always was pretty flaky.
Originally committed as revision 3795 to svn://svn.ffmpeg.org/ffmpeg/trunk
tested and submitted by (Torsten Spindler <spindler at hbt dot arch dot ethz dot ch>)
Originally committed as revision 3381 to svn://svn.ffmpeg.org/ffmpeg/trunk
fixes the random dts/pts during encoding
asf preroll fix
no more initial zero frames for b frame encoding
mpeg-es dts during demuxing fixed
.ffm timestamp scale fixed, ffm is still broken though
Originally committed as revision 3168 to svn://svn.ffmpeg.org/ffmpeg/trunk
overflows.
Fix streaming from non-streaming ffm files. It turned out that you
always got 'index & id do not match' errors.
Add some more error detection on getting FFM feeds
Originally committed as revision 2523 to svn://svn.ffmpeg.org/ffmpeg/trunk
from the client. Simply ignore the unwanted/unasked streams.
- Don't need to pool() for every input character! (the socket is nonblocking,
so the loop is ok).
- Partially resurrect compute_send_delay for avoiding udp flood. Without a
similar patch, udp transmission is seriously unreliable.
(note that we don't link to a specific input reference stream, it's not needed
as the pts values should be coherent anyway. Also, non-monotonic pts
progression is unimportant in the long term).
- rtsp_cmd_pause must reset the time reference
patch by (Giancarlo Formicuccia <ilsensine at inwind dot it>)
Originally committed as revision 2034 to svn://svn.ffmpeg.org/ffmpeg/trunk
Reading 1-char per read() is the less intrusive way to fix the behaviour I observed.
Not a nice fix, but the client requests shouldn't steal so much bandwidth
*** fix for find_rtp_session_with_url.
Note that mplayer send one PLAY request per stream, I don't know if this should be handled
more gracefully
patch by (Giancarlo Formicuccia <ilsensine at inwind dot it>)
Originally committed as revision 1998 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add ReadOnlyFile which behaves like File, but does not permit changing of the
file. This can be used to prevent deleting of saved ffm files.
Originally committed as revision 1743 to svn://svn.ffmpeg.org/ffmpeg/trunk
when WMP reports in, then we didn't increment the bandwidth, but we did
decrement it.
Originally committed as revision 1619 to svn://svn.ffmpeg.org/ffmpeg/trunk
This code is wrong, but it is not obvious what the right code is.
* Make sure that we reset SIGPIPE before execing ffmpeg.
Originally committed as revision 1330 to svn://svn.ffmpeg.org/ffmpeg/trunk
adding AVVideoFrame
moving quality, pict_type, key_frame, qscale_table, ... to AVVideoFrame
removing obsolete variables in AVCodecContext
skiping of MBs in b frames
correctly initalizing AVCodecContext
picture buffer cleanup
Originally committed as revision 1302 to svn://svn.ffmpeg.org/ffmpeg/trunk
Also made the Launch directive work again if you invoke ffserver with a relative
path.
Originally committed as revision 1111 to svn://svn.ffmpeg.org/ffmpeg/trunk
We limit the datarate to twice the average datarate (however the first
few seconds are sent flat out to help with prebuffering).
* Add the initialization of the rc_eq fields and the like for VIDEO codecs.
* Add the missing get_arg calls for VideoQxxxx
Originally committed as revision 920 to svn://svn.ffmpeg.org/ffmpeg/trunk
parameters as the currently desired codec settings. Thus it is
important not to fiddle with the streams if you want to keep the
old data.
* Fix it so that the ?buffer= paramter can be larger than 40 minutes or
so. Why is this good? So I can use ?buffer=43200 and get video from
12 hours ago (i.e. when it is daylight outside)
Originally committed as revision 829 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix the sense of the test for "-" with customlog and not closing stdout in daemon mode
Originally committed as revision 828 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add ip address based acls for streams. I recommend adding ACL entries
for all feeds to control who can submit stuff. You might also want to
consider who can get to your status page.
* Make logging work again if customlog == "-"
Originally committed as revision 821 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add code to monitor the actual datarates on the http connections
* Fix problem when ffmpeg uses more than 24 hours of CPU (display only problem)
Originally committed as revision 680 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add parameters to set author/comment/copyright/title to streamed asf
* Format the stats output a little bit better.
Originally committed as revision 663 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 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
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
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
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
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
* 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
* 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
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
(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