Commit Graph

174 Commits

Author SHA1 Message Date
Andrey Utkin
7a032cb97f Fix segfault on UDP reading
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-09 03:43:52 +01:00
Michael Niedermayer
7c4e4c6a06 udp: fix circular buffer error handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-25 21:43:30 +02:00
Michael Niedermayer
20f0bf8cfb udp: buffer datagrams in circular buffer instead of a bytestream
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-25 21:33:54 +02:00
Michael Niedermayer
bd652ff66e udp: allow fifo size to be tuned seperately
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-25 16:37:12 +02:00
Michael Niedermayer
721be99371 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: fix some then/than typos
  doxygen: Include libavcodec and libavformat examples into the documentation
  avutil: elaborate documentation for av_get_random_seed
  Add support for aac streams in mp4/mov without extradata.
  aes: whitespace cosmetics
  adler32: whitespace cosmetics
  swscale: fix another yuv range conversion overflow in 16bit scaling.
  Fix cpu flags test program
  opt-test: Add missing braces to silence compiler warnings.
  build: Eliminate obsolete test targets.
  udp: Fix a compilation warning
  swscale: Unbreak build with --enable-small
  base64: add fate test
  aes: improve test program and add fate test
  adler32: make test program more useful and add fate test
  swscale: fix yuv range correction when using 16-bit scaling.
  aacenc: Make chan_map const correct

Conflicts:
	Makefile
	doc/examples/muxing-example.c
	libavformat/udp.c
	libavutil/random_seed.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-01 05:35:26 +02:00
Martin Storsjö
5d62d0b114 udp: Fix a compilation warning
This fixes this compilation warning, by making endptr a non-const
pointer, as required by strtol:
In function ‘udp_open’:
warning: passing argument 2 of ‘strtol’ from incompatible pointer type

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-06-30 12:04:46 +03:00
Michael Niedermayer
dca3542d35 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Add -Wno-format-zero-length to CFLAGS.
  udp: Receive on the remote port number, if no local port is set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-25 04:32:49 +02:00
Can Wu
fc66e23154 udp: Receive on the remote port number, if no local port is set
For a unicast udp stream to localhost:1234, currently
ffplay udp://:1234?localport=1234
works, but
ffplay udp://:1234
doesn't work.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-06-24 18:27:02 +03:00
Michael Niedermayer
124a9edb5f udp: support old, crappy non pthread mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-04 16:55:22 +02:00
JULIAN GARDNER
f35761bca2 udp: fix indention 2011-06-03 19:41:15 +02:00
JULIAN GARDNER
8146d16b60 cleaned up the udp.c, removed some variables and an av_log 2011-05-18 17:17:56 +02:00
Michael Niedermayer
7b915726eb udp: remove resource.h inclusion, it breaks mingw compilation.
The header seems unneeded, if its needed we will put it back with appropriate #if
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-15 01:48:17 +02:00
Michael Niedermayer
e60e54ceb5 UDP: dont use thread_t as truth value.
Unbreak compile on mingw.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-14 13:34:08 +02:00
Michael Niedermayer
03f8f39769 udp: switch custom fifo to libavutil fifo.
This also allows us to drop the semaphore as our fifo is lock free.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-13 17:43:17 +02:00
Michael Niedermayer
593bb98d61 udp: use FFMAX&FFMIN.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-13 17:42:19 +02:00
JULIAN GARDNER
4275602183 udp: add a thread into udp.c for receiving data into a circular buffer, this stops the problem of live decoding/encoding giving errors.
Also added a buf_size which is the number of TS packets that to be allocated for the circular buffer.
2011-05-13 17:40:59 +02:00
Michael Niedermayer
72153419b5 Merge remote branch 'qatar/master'
* qatar/master: (33 commits)
  rtpdec_qdm2: Don't try to parse data packet if no configuration is received
  ac3enc: put the counting of stereo rematrixing bits in the same place to make the code easier to understand.
  ac3enc: clean up count_frame_bits() and count_frame_bits_fixed()
  mpegvideo: make FF_DEBUG_DCT_COEFF output coeffs via av_log() instead of just via AVFrame.
  srtdec: make sure we don't write past the end of buffer
  wmaenc: improve channel count and bitrate error handling in encode_init()
  matroskaenc: make sure we don't produce invalid file with no codec ID
  matroskadec: check that pointers were initialized before accessing them
  lavf: fix function name in compute_pkt_fields2 av_dlog message
  lavf: fix av_find_best_stream when providing a wanted stream.
  lavf: fix av_find_best_stream when decoder_ret is given and using a related stream.
  ffmpeg: factorize quality calculation
  tiff: add support for SamplesPerPixel tag in tiff_decode_tag()
  tiff: Prefer enum TiffCompr over int for TiffContext.compr.
  mov: Support edit list atom version 1.
  configure: Enable libpostproc automatically if GPL code is enabled.
  Cosmetics: fix prototypes in oggdec
  oggdec: fix memleak with continuous streams.
  matroskaenc: add missing new line in av_log() call
  dnxhdenc: add AVClass in private context.
  ...

swscale changes largely rewritten by me or replaced by baptsites due to lots of bugs in ronalds code.
Above code is also just in case its not obvios to a large extended duplicates that where cherry picked
from ffmpeg.

Conflicts:
	configure
	ffmpeg.c
	libavformat/matroskaenc.c
	libavutil/pixfmt.h
	libswscale/ppc/swscale_template.c
	libswscale/swscale.c
	libswscale/swscale_template.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	tests/fate/h264.mak
	tests/ref/lavfi/pixdesc_le
	tests/ref/lavfi/pixfmts_copy_le
	tests/ref/lavfi/pixfmts_null_le
	tests/ref/lavfi/pixfmts_scale_le
	tests/ref/lavfi/pixfmts_vflip_le

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-13 04:40:40 +02:00
Diego Biurrun
046f081b46 configure: Do not unconditionally add -D_POSIX_C_SOURCE to CPPFLAGS.
Adding _POSIX_C_SOURCE to CPPFLAGS globally produces all sorts of problems
since it causes certain system functions to be hidden on some (BSD) systems.
The solution is to only add the flag on systems that really require it, i.e.
glibc-based ones.

This change makes BSD systems compile out-of-the-box without the need for
adding specific flags manually.  It also allows dropping a number of flags
set manually on a file-per-file basis, but were only present to work around
breakage introduced by the presence of _POSIX_C_SOURCE.

Also add _XOPEN_SOURCE to CPPFLAGS for glibc systems.  We use XSI extensions
in several places already, so it is preferable to define it globally instead
of littering source files with individual #defines only needed for glibc.
2011-05-12 11:41:59 +02:00
Michael Niedermayer
b97b4b58a6 Merge remote branch 'qatar/master'
* qatar/master:
  mpegaudiodec: group #includes more sanely
  mpegaudio: remove #if 0 blocks
  ffmpeg.c: reset avoptions after each input/output file.
  ffmpeg.c: store per-output stream sws flags.
  mpegaudio: remove CONFIG_MPEGAUDIO_HP option
  mpegtsenc: Clear st->priv_data when freeing it
  udp: Fix receiving RTP data over multicast
  rtpproto: Remove an unused variable
  regtest: fix wma tests
NOT pulled:  mpegaudio: remove CONFIG_AUDIO_NONSHORT
  regtest: separate flags for encoding and decoding

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 04:03:17 +02:00
Martin Storsjö
a7ea5e3d35 udp: Fix receiving RTP data over multicast
Earlier, AVIO_RDWR was handled as READ, and all the checks
for the AVIO_WRONLY flag explicitly meant the write-only case.
When changed from old AVIO/URL contants to AVIO_FLAG in
59d96941f0, these comparisons were updated incorrectly, by
mapping checks for AVIO_WRONLY to checks for AVIO_FLAG_WRITE.

When receiving RTP over UDP, the urlcontext is opened with
READ_WRITE flags.

This patch updates the flag comparisons to check for the same
conditions as the code did prior to 59d96941f0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-05-09 19:14:38 +03:00
Michael Niedermayer
10d2ae8cf7 Merge remote branch 'qatar/master'
* qatar/master:
  Makefile: Include dependencies for test tools, too
  Remove a version check in av_log made unnecessary by the big bump.
  update last major version increase dates in APIchanges
  Reduce picture size for yadif.
  oggdec: use av_freep() instead of av_free()
  avio: Fix sanity checks in ffurl_read*
  libavformat: Free AVFormatContext->streams
  libavformat: Make protocols pass URLContext as log context where available
  asf: remove commented out code in asf_read_seek
not pulled:  libpostproc: Remove crufty code disabled by the big bump.
  Reflect 0.7_beta1 release in the Changelog
not pulled:  sws: remove disabled cruft.
  lavu: remove disabled ff_random_get_seed cruft.
  lavu: remove disabled sha1 cruft.

Conflicts:
	Changelog
	libavutil/sha1.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-21 03:37:05 +02:00
Martin Storsjö
c60112f268 libavformat: Make protocols pass URLContext as log context where available
Since the libavformat major bump, URLContext contains an AVClass,
making it a usable log context.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-20 14:59:45 +03: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
Anton Khirnov
c4efa7c229 lavf: remove FF_API_UDP_GET_FILE cruft 2011-04-19 18:28:38 +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
5cec897105 avio: move extern url_interrupt_cb declaration from avio.h to url.h 2011-04-07 18:11:24 +02:00
Anton Khirnov
f87b1b373a avio: AVIO_ prefixes for URL_ open flags. 2011-04-07 18:07:16 +02:00
Luca Barbato
ebba2b3e2a proto: factor ff_network_wait_fd and use it on udp
Support the URL_FLAG_NONBLOCK semantic and uniform the protocol.
The quick retry loop is already part of retry_transfer_wrapper.

The polling routine is common to the network protocols:
udp, tcp and, once merged, sctp.
2011-04-07 02:53:55 +02:00
Michael Niedermayer
2fd41c9067 Merge remote-tracking branch 'newdev/master'
* newdev/master:
  avio: make udp_set_remote_url/get_local_port internal.
  asfdec: also subtract preroll when reading simple index object
  matroskaenc: remove a variable that's unused after bc17bd9.
  avio: cosmetics - nicer vertical alignment.
  Remove unnecessary icc version checks
  Disable 'attribute "foo" ignored' warnings from icc
  rtsp: Don't use a locale dependent format string
  Add xd55 codec tag for XDCAM HD422 720p25 CBR files.
  configure: get libavcodec version from new version.h header
  lavc: move the version macros to a new installed header.
  matroskaenc: simplify get_aac_sample_rates by using ff_mpeg4audio_get_config
  Do not use format string "%0.3f" for RTSP Range field.
  Add apply_window_int16() to DSPContext with x86-optimized versions and use it in the ac3_fixed encoder.
  Document usage of import libraries created by dlltool
  configure: Set the correct lib target for arm/wince dlltool
  fate: simplify regression-funcs.sh
  fate: add support for multithread testing

Conflicts:
	libavformat/rtspdec.c
	libavutil/attributes.h
	libavutil/internal.h
	libavutil/mem.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-24 02:16:11 +01:00
Anton Khirnov
4ec153bb66 avio: make udp_set_remote_url/get_local_port internal. 2011-03-23 17:32:13 +01: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
Nicolas George
c76374c6db Use AVERROR_EXIT with url_interrupt_cb.
Functions interrupted by url_interrupt_cb should not be restarted.
Therefore using AVERROR(EINTR) was wrong, as it did not allow to distinguish
when the underlying system call was interrupted and actually needed to be
restarted.

This fixes roundup issues 2657 and 2659 (ffplay not exiting for streamed
content).

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-15 08:09:19 -04:00
Martin Storsjö
28c4741a66 libavformat: Remove FF_NETERRNO()
Map EAGAIN and EINTR from ff_neterrno to the normal AVERROR()
error codes. Provide fallback definitions of other errno.h network
errors, mapping them to the corresponding winsock errors.

This eases catching these error codes in common code, without having
to distinguish between FF_NETERRNO(EAGAIN) and AVERROR(EAGAIN).

This fixes roundup issue 2614, unbreaking blocking network IO on
windows.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 07:21:31 -05:00
Anton Khirnov
ab0287fcbd Move find_info_tag to lavu and add av_ prefix to it
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-17 15:35:18 +01:00
David Fries
00952be424 udp: Enable address reuse by default for multicast
Keep the original corner case behaviour, where reuse is enabled
for the case where no argument is given to the reuse url option.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-09 22:03:59 -05:00
Luca Barbato
a8475bbdb6 os: replace select with poll
Select has limitations on the fd values it could accept and silently
breaks when it is reached.
2011-01-28 15:45:19 +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
Martin Storsjö
21a569f302 udp: Allow specifying the connect option in udp_set_remote_url, too
If the remote address is updated later with this function, the caller
shouldn't set the connect option until in this call.

Originally committed as revision 26245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 15:16:50 +00:00
Aurelien Jacobs
8ef30ac1f3 add FF_API_UDP_GET_FILE define to disable the deprecated udp_get_file_handle()
public function

Originally committed as revision 25481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 12:49:48 +00:00
Martin Storsjö
25968c3953 Reindent
Originally committed as revision 25406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-08 08:43:10 +00:00
Martin Storsjö
6766a354f7 udp: Add an option for connecting the udp socket
This allows us to find out the local sending address via getsockname,
otherwise we just get INADDR_ANY (or similar for v6).

This also makes writes return ECONNREFUSED if nobody is listening on the
receiving port.

Originally committed as revision 25405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-08 08:42:30 +00:00
Martin Storsjö
55b6bd1c01 Convert ff_is_multicast_address to take a struct sockaddr parameter
Not all users of this function will have a full struct sockaddr_storage
available, and casting other sockaddrs to sockaddr_storage is wrong,
while any sockaddr can be cast to a base sockaddr.

Originally committed as revision 25388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 07:58:56 +00:00
Martin Storsjö
7ac57fa5eb Share the is_multicast_address function
The header probably isn't the right permanent place for this function, but
it is quite small, and consensus seems to be that it can stay in the
header for now, instead of creating a new file network.c just for this one.

Originally committed as revision 25387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 07:54:52 +00:00
Martin Storsjö
f63630cdf3 Move multicast address identification fallback macros to network.h from udp.c
Originally committed as revision 25386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 07:53:31 +00:00
Martin Storsjö
5961253463 udp: Define _DARWIN_C_SOURCE
This is required in order to get the IP_MULTICAST_TTL define.

Originally committed as revision 25351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 16:35:33 +00:00
Martin Storsjö
25a2ebb917 udp: Return the actual error code on errors, instead of AVERROR(EIO)
Originally committed as revision 25350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 14:09:30 +00:00
Martin Storsjö
63206a8ffb Check for the IPPROTO_IPV6 define before using it
This fixes building on FreeBSD in some configurations, if the IPv6 multicast
structs are available, but IPPROTO_IPV6 isn't defined.

Originally committed as revision 25147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-20 06:38:40 +00:00
Reimar Döffinger
8250561149 Check for udp_set_remote_url error.
Fixes issue 1784 (hang with nonsense URL/no network available).

Originally committed as revision 24575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-28 16:27:16 +00:00
Diego Biurrun
9a58234fea Fix misspelled parameter names in Doxygen documentation.
This fixes one Doxygen warning each.

Originally committed as revision 23970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 10:49:29 +00:00
Måns Rullgård
f3bfe388b5 Make ff_url_split() public
ff_url_split() is retained as an alias, as it was used by ffserver,
to avoid breaking ABI compatibility with it.

Originally committed as revision 23822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 14:16:46 +00:00
Martin Storsjö
48e77473e9 Cosmetics: Change connexion to connection in code comments
Originally committed as revision 23601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-14 09:09:59 +00:00
Martin Storsjö
27241cbffe Declare the url_write buffer parameter as const
Originally committed as revision 23401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-01 07:46:23 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Martin Storsjö
cae9a15c98 Don't report EINTR from select as an error, retry select instead
Originally committed as revision 22694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 16:04:38 +00:00
Aurelien Jacobs
e4a9e3cc7c move ff_url_split() and ff_url_join() declarations to internal.h
those functions are not part of the public API

Originally committed as revision 22534 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 23:59:48 +00:00
Martin Storsjö
c5c6e67c28 Rename url_split to ff_url_split
Since this function isn't in the public API, it should have an ff_ prefix.

Originally committed as revision 22321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 09:03:25 +00:00
Martin Storsjö
814c56413d Don't explicitly initialize networking in the tcp and udp protocols
Networking is always initialized when opening protocols.

Originally committed as revision 22227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 22:38:48 +00:00
Reimar Döffinger
11a74f3639 Explicitly set struct addrinfo to NULL if getaddrinfo failed instead of
assuming getaddrinfo will have done this.

Originally committed as revision 22123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 22:33:22 +00:00
Ronald S. Bultje
6481075443 Make style a little bit more K&R'ish.
Originally committed as revision 21383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 16:12:55 +00:00
Martin Storsjö
7c823d8b7f Rename a function which is no longer ipv6-specific. Patch by Martin Storsjö
<$firstname () $firstname st>.

Originally committed as revision 21382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 16:10:08 +00:00
Martin Storsjö
b4d68544c8 Remove IPv4-only codepath. Patch by Martin Storsjö <$first $first st>.
Originally committed as revision 21365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 15:42:05 +00:00
Ronald S. Bultje
f0a8039464 Add url_get_file_handle(), which is used to get the file descriptor
associated with the I/O handle (e.g. the fd returned by open()). See
"[RFC] rtsp.c EOF support" thread.

There were previously some URI-specific implementations of the same idea,
e.g. rtp_get_file_handles() and udp_get_file_handle(). All of these are
deprecated by this patch and will be removed at the next major API bump.

Originally committed as revision 17779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 17:04:51 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Dave Yeo
c0a8f8d498 Add sys/time.h header #include, fixes compilation on OS/2.
patch by Dave Yeo, daveryeo telus net

Originally committed as revision 16077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-12 06:55:48 +00:00
Jindřich Makovička
36b532815c bind to the multicast address if possible
Originally committed as revision 16032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-07 17:29:09 +00:00
Jindřich Makovička
ce09d560b7 Get rid of MSG_DONTWAIT using a more standard way to use a socket
in a non blocked mode.
Patch by Jindrich Makovicka: makovick gmail

Originally committed as revision 15846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-17 07:50:25 +00:00
Jindřich Makovička
7d0842992a check for interrupt when receiving from socket
Originally committed as revision 15824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-14 19:33:22 +00:00
Jindřich Makovička
236bb1ab01 Allow the UDP socket buffer size to be adjusted using a
'buffer_size' URL option.

Patch by Jindrich Makovicka, makovick at gmail dot com

Originally committed as revision 15807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-12 21:40:53 +00:00
Luca Abeni
a9e02947f6 Fix udp.c compilation with recent glibc (>= 2.8)
Originally committed as revision 14963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 06:20:00 +00:00
Ronald S. Bultje
e6c1381982 Fix memleak on some OSes in case network initialization fails. See
"[PATCH] tcp.c/udp.c memleak?" for discussion.

Originally committed as revision 14923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 17:39:56 +00:00
Luca Abeni
397db8ac5e Fix type of dest_addr_len to respect return value of udp_set_url.
Patch by Luca Abeni.

Originally committed as revision 13114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 10:53:21 +00:00
Luca Barbato
3adfb3772c doxy header for udp protocol
Originally committed as revision 12861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-16 16:52:35 +00:00
Luca Abeni
35b74c3deb Remove the "multicast=" tag from UDP and RTP URLs
Originally committed as revision 12830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-15 11:23:07 +00:00
D Richard Felker III
03c09e4399 Do not use GNU-specific (or BSD-specific or whatever they may be)
constants which are completely unneeded anyway. Note that 3 is a cheap
integer bound for log10(1<<CHAR_BIT).

Originally committed as revision 11902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-11 03:30:42 +00:00
Luca Abeni
087b327287 Include os_support.h only when needed
Originally committed as revision 11073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-21 16:33:06 +00:00
Luca Abeni
086119b3f3 Remove perror() usage from udp.c
Originally committed as revision 11059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-19 08:07:33 +00:00
Luca Abeni
aa519c4771 Remove some more duplicated code
Originally committed as revision 11038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-15 14:26:52 +00:00
Luca Abeni
d4936869ff Remove the useless variable "my_addr1"
Originally committed as revision 11037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-15 13:41:51 +00:00
Luca Abeni
882d00f27d Use the same code to set local_port in the IPv4-only case and in the
protocol-independet case

Originally committed as revision 11036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-15 13:34:56 +00:00
Luca Abeni
6b7089044a Remove some useless assignments (the UDPContext is allocated with av_mallocz())
Originally committed as revision 11017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 08:22:06 +00:00
Luca Abeni
d05cb726bd Simplify set_remote_url(), and remove some code duplication
Originally committed as revision 11016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 08:16:51 +00:00
Luca Abeni
4c7d5764a0 Use recv() instead of recvfrom() (removes some other differences between
IPv4-only and protocol-independent code)

Originally committed as revision 11015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 07:56:20 +00:00
Luca Abeni
66c49825da Remove a now unused field
Originally committed as revision 11014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 07:45:15 +00:00
Luca Abeni
9cdcb04f5a Give better names to multicast functions (they are not IPv6-only)
Originally committed as revision 11013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 07:43:51 +00:00
Luca Abeni
a8bde059e6 Avoid to duplicate the multicast code between the IPv4-only and
protocol-independent versions

Originally committed as revision 11012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 07:42:46 +00:00
Luca Abeni
0ec1233511 Remove some ifdefs by using the "dest_addr_len" field in both the IPv4-only
code and the protocol-independent code

Originally committed as revision 11011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 07:35:36 +00:00
Ronald S. Bultje
51844e6cd2 Take the target address family in account when determining the family of
the local address to bind.
Fixes ffserver and UDP streaming without --disable-ipv6 on MacOS X

Patch by Ronald S. Bultje (rsbultje st gmail dot com)

Originally committed as revision 10883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-31 07:27:38 +00:00
Luca Abeni
7d8576c279 Reindent after last commit
Originally committed as revision 10882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-31 07:08:12 +00:00
Nicolas George
d607861cd5 Resolve hosts and bind sockets even when the local_port is not set (0)
Fixes ffserver on linux when "--disable-ipv6" is not used

Patch by Nicolas George (nicolas dot george at normalesup dot org)

Originally committed as revision 10881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-31 07:02:30 +00:00
Ramiro Polla
f18cae4d6e Set UDP receive buffer to 64k
Originally committed as revision 10129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-16 22:12:03 +00:00
Ramiro Polla
1642cb6b2e Add initialization and cleanup functions for Winsock
Originally committed as revision 10040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 23:39:05 +00:00
Panagiotis Issaris
6f3e0b2174 Replace all occurrences of AVERROR_IO with AVERROR(EIO).
Originally committed as revision 9760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 15:23:32 +00:00
Diego Biurrun
0a4f20c6c5 Add some explanatory comments to #endif directives.
Originally committed as revision 9287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 08:01:35 +00:00
Diego Biurrun
ea23327b9c Remove unused static function.
Originally committed as revision 9285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 07:59:34 +00:00
Alex Beregszaszi
8da4034f52 use ff_neterrno() and FF_NETERROR() for networking error handling
Originally committed as revision 8845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-27 00:35:54 +00:00