Commit Graph

53 Commits

Author SHA1 Message Date
Michael Niedermayer
5f268ca5c5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: pass options from AVFormatContext to avio.
  avformat: Use avio_open2, pass the AVFormatContext interrupt_callback onwards
  avio: add avio_open2, taking an interrupt callback and options
  avio: add support for passing options to protocols.
  avio: add and use ffurl_protocol_next().
  avformat: Pass the interrupt callback on to chained muxers/demuxers
  avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_alloc
  avformat: Use ff_check_interrupt
  avio: Add an internal utility function for checking the new interrupt callback
  avio: Add AVIOInterruptCB
  texi2html: remove stray \n
  doc: prettyfy the texi2html documentation
  swscale: handle unaligned buffers in yuv2plane1

Conflicts:
	libavformat/avformat.h
	libavformat/avio.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-14 00:33:39 +01:00
Anton Khirnov
ddffc2fdc3 avio: add support for passing options to protocols.
Not used anywhere yet, support for passing options from avio_open() will
follow.
2011-11-13 13:14:39 +01:00
Martin Storsjö
6f1b7b3944 avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_alloc
Change all uses of these function to pass the relevant
callback on.
2011-11-13 13:12:17 +01:00
Michael Niedermayer
e6e7ba0ce3 Add some forgotten const to function arguments in libavfilter & libavformat.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-17 03:05:36 +02:00
Michael Niedermayer
efb5fa79f5 Merge remote branch 'qatar/master'
* qatar/master: (37 commits)
  In avcodec_open(), set return code to an error value only when an error occurs instead of unconditionally at the start of the function.
  lavc: remove reference to opt.h from Makefile.
  prefer avio_check() over url_exist()
  avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
  lavu: remove misc disabled cruft
  lavu: remove FF_API_OLD_IMAGE_NAMES cruft
NOT PULLED  lavu: remove FF_API_OLD_EVAL_NAMES cruft
  lavc: remove misc disabled cruft.
  lavc: remove the FF_API_INOFFICIAL cruft.
  lavc: remove the FF_API_SET_STRING_OLD cruft.
  lavc: remove the FF_API_USE_LPC cruft.
  lavc: remove the FF_API_SUBTITLE_OLD cruft.
  lavc: remove the FF_API_VIDEO_OLD cruft.
  lavc: remove the FF_API_AUDIO_OLD cruft.
  lavc: remove the FF_API_OPT_SHOW cruft.
  lavc: remove the FF_API_MM_FLAGS cruft.
  lavf: remove misc disabled cruft.
  lavf: remove FF_API_INDEX_BUILT cruft
  lavf: remove FF_API_URL_CLASS cruft.
  lavf: remove FF_API_SYMVER cruft
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-20 04:48:23 +02:00
Stefano Sabatini
59d96941f0 avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
Make AVIO_FLAG_ access constants work as flags, and in particular fix
the behavior of functions (such as avio_check()) which expect them to
be flags rather than modes.

This breaks API.
2011-04-19 19:47:58 +02:00
Michael Niedermayer
d4d09329ee Merge remote branch 'qatar/master'
* qatar/master:
  lavf: bump minor and add an APIChanges entry for avformat cleanup
  lavf: get rid of ffm-specific stuff in avformat.h
Not pulled:  avio: deprecate av_protocol_next().
  avio: add a function for iterating though protocol names.
  lavf: rename a parameter of av_sdp_create from buff->buf
  lavf: rename avf_sdp_create to av_sdp_create.
  lavf: make av_guess_image2_codec internal
  avio: make URLProtocol internal.
  avio: make URLContext internal.
  lavf: mark av_pkt_dump(_log) for remove on $next+1 bump.
  lavf: use designated initializers for all protocols
  applehttp: don't use deprecated url_ functions.
  avio: move two ff_udp_* functions from avio_internal to url.h
  asfdec: remove a forgotten declaration of nonexistent function
  avio: deprecate the typedef for URLInterruptCB

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-09 03:17:07 +02:00
Anton Khirnov
f35ff97f2e lavf: use designated initializers for all protocols
This is more readable and makes it easier to reorder URLProtocol
members.
2011-04-08 11:08:26 +02:00
Michael Niedermayer
c88caa522c Merge remote branch 'qatar/master'
* qatar/master:
  proto: include os_support.h in network.h
  matroskaenc: don't write an empty Cues element.
  lavc: add a FF_API_REQUEST_CHANNELS deprecation macro
  avio: move extern url_interrupt_cb declaration from avio.h to url.h
  avio: make av_register_protocol2 internal.
  avio: avio_ prefix for url_set_interrupt_cb.
  avio: AVIO_ prefixes for URL_ open flags.
  proto: introduce listen option in tcp
  doc: clarify configure features
  proto: factor ff_network_wait_fd and use it on udp

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-08 02:50:13 +02:00
Anton Khirnov
f87b1b373a avio: AVIO_ prefixes for URL_ open flags. 2011-04-07 18:07:16 +02:00
Michael Niedermayer
c0e51ec9c6 Merge remote branch 'qatar/master'
* qatar/master:
  Fix parser: mark av_parser_parse() for removal on next major bump
  swscale: postpone sws_getContext removal until next major bump.
  fate: add AAC LATM test
  mmst: get rid of deprecated AVERRORs
  lxfdec: use AVERROR(ENOMEM) instead of deprecated AVERROR_NOMEM.
  Reemove remaining uses of deprecated AVERROR_NOTSUPP.
REIMPLEMENTED in 2 lines of code:  lavf: if id3v2 tag is present and all else fails, guess by file extension

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-07 03:32:26 +02:00
Anton Khirnov
6e37b45888 mmst: get rid of deprecated AVERRORs 2011-04-06 14:10:08 +02:00
Michael Niedermayer
434f248723 Merge remote branch 'qatar/master'
* qatar/master: (22 commits)
  ac3enc: move extract_exponents inner loop to ac3dsp
  avio: deprecate url_get_filename().
  avio: deprecate url_max_packet_size().
  avio: make url_get_file_handle() internal.
  avio: make url_filesize() internal.
  avio: make url_close() internal.
  avio: make url_seek() internal.
  avio: cosmetics, move AVSEEK_SIZE/FORCE declarations together
  avio: make url_write() internal.
  avio: make url_read_complete() internal.
  avio: make url_read() internal.
  avio: make url_open() internal.
  avio: make url_connect internal.
  avio: make url_alloc internal.
  applehttp: Merge two for loops
  applehttp: Restructure the demuxer to use a custom AVIOContext
  applehttp: Move finished and target_duration to the variant struct
  aacenc: reduce the number of loop index variables
  avio: deprecate url_open_protocol
  avio: deprecate url_poll and URLPollEntry
  ...

Conflicts:
	libavformat/applehttp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-05 02:31:56 +02:00
Anton Khirnov
e52a9145c8 avio: make url_close() internal. 2011-04-04 17:45:20 +02:00
Anton Khirnov
925e908bc7 avio: make url_write() internal. 2011-04-04 17:45:20 +02:00
Anton Khirnov
dce3756459 avio: make url_read_complete() internal. 2011-04-04 17:45:20 +02:00
Anton Khirnov
0589da0aa5 avio: make url_open() internal. 2011-04-04 17:45:20 +02:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Anton Khirnov
ae99313aa5 avio: move init_put_byte() to a new private header and rename it
init_put_byte should never be used outside of lavf, since
sizeof(AVIOContext) isn't part of public ABI.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit e731b8d872)
2011-02-20 19:05:47 +01:00
Anton Khirnov
471fe57e1a avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit ae628ec1fd)
2011-02-20 19:05:47 +01:00
Anton Khirnov
e731b8d872 avio: move init_put_byte() to a new private header and rename it
init_put_byte should never be used outside of lavf, since
sizeof(AVIOContext) isn't part of public ABI.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:31 -05:00
Anton Khirnov
ae628ec1fd avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -05:00
Ronald S. Bultje
e84314515a mmst: fix reading uninitialized data for ping packets.
Fixes errors after a few minutes (first ping) when playing back
mmst://wm.bbc.co.uk/wms/bbc7coyopa/bbc7_-_friday_0430.wma
(cherry picked from commit 275189a2bd)
2011-02-14 23:59:55 +01:00
Francesco Cosoleto
2594d75fb2 mmst: print packet type with error status code message
Signed-off-by: Francesco Cosoleto <cosoleto@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 70630e35a4)
2011-02-14 23:58:20 +01:00
Ronald S. Bultje
275189a2bd mmst: fix reading uninitialized data for ping packets.
Fixes errors after a few minutes (first ping) when playing back
mmst://wm.bbc.co.uk/wms/bbc7coyopa/bbc7_-_friday_0430.wma
2011-02-14 09:55:14 -05:00
Francesco Cosoleto
70630e35a4 mmst: print packet type with error status code message
Signed-off-by: Francesco Cosoleto <cosoleto@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-13 16:49:39 -05:00
Luca Barbato
9ef5a9deaf Replace dprintf with av_dlog
dprintf clashes with POSIX.1-2008
(cherry picked from commit dfd2a005eb)
2011-01-30 03:41:48 +01:00
Luca Barbato
dfd2a005eb Replace dprintf with av_dlog
dprintf clashes with POSIX.1-2008
2011-01-29 23:55:37 +01:00
Diego Elio Pettenò
66355be3c3 Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.
This also lists the objects from those two libraries as internal (by adding
the ff_ prefix) so that they can then be hidden via linker scripts.
(cherry picked from commit c6610a216e)
2011-01-28 03:15:34 +01:00
Diego Elio Pettenò
c6610a216e Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.
This also lists the objects from those two libraries as internal (by adding
the ff_ prefix) so that they can then be hidden via linker scripts.
2011-01-26 22:10:09 +00:00
Anton Khirnov
6e89b61293 lavf: move ff_put_str16_nolen from asf to avio and rename it
It will be useful in the mp3 muxer.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit dccbd97d72)
2011-01-23 19:32:06 +01:00
Anton Khirnov
dccbd97d72 lavf: move ff_put_str16_nolen from asf to avio and rename it
It will be useful in the mp3 muxer.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 20:21:51 +00:00
qrtt1
42f9582d8d Set proper error if server flags indicate that it doesn't support mmst. This
prevents a read-after-close-induced segfault later. Fixes issue 2266.

Patch by qrtt1 <chingyichan dot tw gmail com>.

Originally committed as revision 25349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 14:04:46 +00:00
Ronald S. Bultje
67197656d1 Remove use of MAX_STREAMS in MMSContext->streams[] array. Instead, dynamically
allocate the array.

Originally committed as revision 24794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-13 17:30:01 +00:00
Zhentan Feng
99ab8ff049 Fix wrong command prefix for timing test in MMST protocol.
Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 24792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-13 17:02:37 +00:00
Zhentan Feng
fcd11c61ea Move functions and structs shared between MMSH and MMST into their own file,
mms.c. Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 24779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 22:50:17 +00:00
Zhentan Feng
edce93536a Extract fields that are to be shared between MMST/MMSH into a common struct,
MMSContext. The other MMST-specific members go into MMSTContext.

Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 24778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 22:43:54 +00:00
Ronald S. Bultje
a46cd6e141 Use FFALIGN() in mmst.c where appropriate. Noticed by Benoit Fouet.
Originally committed as revision 24777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 22:27:29 +00:00
Zhentan Feng
aaa91aa00e Move read_mms_packet() code to be inlined in the calling function.
Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 24700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-04 22:34:43 +00:00
Zhentan Feng
05fc9a1bcf Remove is_playing variable.
Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 24699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-04 22:33:38 +00:00
Zhentan Feng
b949875bf6 Move send_media_packet_request() and clear_stream_buffers() up.
Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 24698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-04 22:32:43 +00:00
Ronald S. Bultje
db9cc3a55a Reindent after r24516.
Originally committed as revision 24517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 22:22:42 +00:00
Ronald S. Bultje
e87b7d72c6 Use inverse error branches, i.e. instead of if(something){success} else {error},
use if(!something) {return error;} success;, which needs less indenting.

Originally committed as revision 24516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 22:22:20 +00:00
Ronald S. Bultje
540ab68c64 Use av_log(.., AV_LOG_ERROR) instead of dprintf() for logging errors. This
should help in making mmst a little more userfriendly, or at least debuggable.
Also use helpful error return values instead of -1.

Originally committed as revision 24515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 22:21:14 +00:00
Zhentan Feng
e4a28be67b Allow the ASF header to be transferred split over multiple packets, as some
servers happen to do. For this, we also move several header-size-related
variables to the MMSTContext.

Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 24363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 15:14:15 +00:00
Zhentan Feng
d6cc1123e3 Explicitely set the size of the "ff_asf_head1_guid" header chunk, this is
part of the spec and causes problems otherwise.

Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 24362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 15:11:44 +00:00
Zhentan Feng
cbbb10810c Align outgoing messages to 8 bytes, this is required to interact with
most servers. Also remove a case where we manually aligned to 8 bytes,
since this is now no longer needed.

Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 24360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 15:07:31 +00:00
Zhentan Feng
0c717a30e0 Fix a compile warning when compiling with DEBUG=1. The warning was:
format ‘%d’ expects type ‘int’, but argument 3 has type ‘uint64_t’

Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 24359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 15:05:45 +00:00
Zhentan Feng
9078eba062 Check the status code of each server responses, and fail if it indicates
a problem.

Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 24358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 15:01:06 +00:00
Zhentan Feng
414df121e0 Send a time test to the server, as the spec recommends.
Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 24357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 14:59:23 +00:00