Commit Graph

63 Commits

Author SHA1 Message Date
Martin Storsjö
8ebf02f8f5 libavformat: Only use MoveFileExA when targeting the desktop API subset
The MoveFileExA is available in the headers regardless which API
subset is targeted, but it is missing in the Windows Phone link
libraries. When targeting Windows Store apps, the function is
available both in the headers and in the link libraries, and thus
there is no indication for the build system that this function
should be avoided - such an indication is only given by the
Windows App Certification Kit, which forbids using the MoveFileExA
function.

Therefore check the WINAPI_FAMILY defines instead, to figure out
which API subset is targeted.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-19 23:24:47 +02:00
Martin Storsjö
79fd186a50 lavf: Use MoveFileEx instead of rename/_wrename on windows
This allows getting the normal unix semantics, where a rename
allows replacing an existing file.

Based on a suggestion by Reimar Döffinger.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-27 09:29:29 +02:00
Martin Storsjö
9326d64ed1 Share the utf8 to wchar conversion routine between lavf and lavu
This doesn't add any dependency on library internals, since this
only is a static inline function that gets built into each of the
calling functions - this is only to reduce the code duplication.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-27 09:29:17 +02:00
Martin Storsjö
960aff379d lavf: Use wchar functions for filenames on windows for mkdir/rmdir/rename/unlink
This makes sure that the internal utf8 path names are handled
properly - the normal file handling functions assume path names
are in the native codepage, which isn't utf8.

This assumes that the tools outside of lavf don't use the mkdir
definition. (The tools don't do the same reading of command line
parameters as wchar either - they probably won't handle all possible
unicode file parameters properly, but at least work more predictably
if no utf8/wchar conversion is involved.)

This is moved further down in os_support.h, since windows.h shouldn't
be included before winsock2.h, while io.h needs to be included before
the manual defines for lseek functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-24 23:36:29 +02:00
Martin Storsjö
eec7f032a9 lavf: Remove a redundant include of sys/stat.h
The same file already includes this header a few lines further
above.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-22 22:11:44 +02:00
Diego Biurrun
4c8bd8ddb0 os_support: Adjust an outdated #endif comment 2014-08-26 06:34:41 -07:00
Diego Biurrun
1019b7c4ed os_support: Undefine lseek/stat/fstat before defining them
This avoids a number of redefinition warnings on MinGW64.
2014-08-22 18:35:19 +02:00
Martin Storsjö
dfc6b5c814 file: Move win32 utf8->wchar open wrapper to libavutil
When libavformat was changed to use the new avpriv_open function
in 51eb213d00, this silently bypassed the existing wrapper for
win32. Move the win32 wrapper into libavutil/file.c to make sure
it gets called everywhere (not just in the libavformat case).

This makes sure that non-ascii file names gets opened properly
(where file names internally are stored as utf8, but they get
converted to wchar_t and opened with _wsopen).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 16:41:33 +03:00
Hendrik Leppkes
85a46ad685 win32: Use 64-bit fstat/lseek variants for MSVC as well
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-27 19:05:58 +02:00
Mans Rullgard
4ebc6a7410 build: Plan 9 support
This adds support for building on Plan 9 x86-32.  The compat/plan9
directory contains these items:

- replacements for the 'head' and 'printf' shell commands
- wrapper for main() to disable FPU exceptions

Larger required changes to the system are described in the
documentation.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:01:18 +01:00
Martin Storsjö
ca6b544ac9 os_support: Choose between direct.h and io.h using a configure check
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-13 14:56:54 +03:00
Martin Storsjö
7b07fab567 os_support: Include io.h instead of direct.h on mingw32ce
Windows CE doesn't have neither mkdir nor _mkdir officially (only
CreateDirectoryW), but mingw32ce has compat wrappers with these names
(declared in io.h since direct.h is unavailable).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-13 13:52:50 +03:00
Martin Storsjö
62c9ae11a7 Add a smooth streaming segmenter muxer
This muxer splits the output from the ismv muxer into individual
files, in realtime.

The same can also be done by the standalone tool ismindex, but this
muxer is needed for doing it in realtime (especially for live
streams that need extra handling for updating the lookahead fields
in the fragment headers).

Using this muxer, one can deliver live smooth streaming from a
normal static file web server. (Using ismindex, one can deliver
premade smooth streaming files from a static file web server,
or prepare files for serving with IIS.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 23:42:16 +03:00
Ronald S. Bultje
5a608a239b os_support: Add fallback definitions for stat flags
Mingw headers provide similar defines already (unconditional #defines,
without any #undef or #ifdef around it), while MSVC doesn't have
them.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:18:50 +03:00
Martin Storsjö
cab2eb87f9 os_support: Rename the poll fallback function to ff_poll
The fallback function is a non-static function, we shouldn't be
defining non-static functions outside of the proper ff/av prefix
namespaces.

This is especially important for a function like poll, which
other parties (other libraries, or executables linking these
libraries) also might provide similar but incompatible fallbacks for.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:18:17 +03:00
Martin Storsjö
cdee08e365 network: Check for struct pollfd
We need to include winsock2.h here, to make sure we have the
real pollfd struct definition, if one exists, before defining the
fallback poll function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:18:06 +03:00
Dave Yeo
3f9d6e4239 os_support: Define SHUT_RD, SHUT_WR and SHUT_RDWR on OS/2
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-23 10:38:14 +03:00
Samuel Pitoiset
4a9ca93556 tcp: Allow signalling end of reading/writing
tcp_shutdown() isn't needed at the moment, but is added for
consistency to explain how the function is supposed to be used.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-22 23:16:42 +03:00
Diego Biurrun
124e28847b Remove some stray unnecessary ffmpeg references. 2011-11-02 10:42:54 +01:00
Kirill Gavrilov
b1ac139d89 Handle unicode file names on windows
All file names should be in UTF-8 within libavformat.

This is handled by mapping the open() function to an internal one
in os_support.h for windows.

fopen() could be overridden in the same way, but if that would be
used from ffmpeg.c, it would add a dependency on an ff prefixed
internal lavf function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-24 00:05:38 +03: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
Mans Rullgard
362d8f7d9e os_support: make poll() fallbacks conditional on CONFIG_NETWORK
poll() is only used by networking code, so the fallback should
only be built if networking is enabled.  Also remove CONFIG_FFSERVER
condition from the declarations.

This should fix building on systems without poll(), broken
by a8475bbdb6.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-28 17:23:19 +00:00
Ronald S. Bultje
f0d8ac529f Move INET6_ADDRSTRLEN to network.h, similar to other network-related fixups
for broken OSes. This is included in rtsp.h, as opposed to os_support.h.
Should fix OS/2 broken build on fate.

Originally committed as revision 25035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-03 20:06:01 +00:00
John Wimer
619298a84d Send NAT punching messages to the address specified in the Transport:
message, if available (RFC 2326, section 12.39), fixes issue 2212.

Patch by John Wimer <john at god vtic net>.

Originally committed as revision 25032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-03 19:25:59 +00:00
Diego Biurrun
a1629e2848 Remove support for pre-Haiku, non-POSIX, non-C99 BeOS variants.
BeOS support has been broken for many years and the "maintainer" of the port
has not reacted to countless requests to get the port fixed.
approved by Mans

Originally committed as revision 23562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-10 16:51:14 +00:00
kemuri
f1dfaa7a82 win32: Use _fstati64() instead of plain old fstat() on Windows to support file
sizes greater than 4gb.

Patch by kemuri <kemuri9 at gmail dot com>

Originally committed as revision 23448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-03 20:41:04 +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
Ramiro Polla
a3faf694a2 Add comment on #endif about condition that triggers it.
Originally committed as revision 20337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 01:25:39 +00:00
İsmail Dönmez
b504ce57ed Only #define lseek to _lseeki64 on MinGW, not MinGW CE.
This fixes compilation on WinCE, which does not support _lseeki64.
patch by Ismail Dönmez, ismail namtrac org

Originally committed as revision 19425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-13 17:16:36 +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
da837937c6 Fix undefined preprocessor directives warnings during 'make checkheaders'.
Originally committed as revision 16747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 14:52:46 +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
Diego Biurrun
9686df2be5 Delete unnecessary 'extern' keywords.
Originally committed as revision 15990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-03 15:23:30 +00:00
Ramiro Polla
bc574408dc Only special-case absolute DOS paths on systems that support them.
Originally committed as revision 15594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-10 16:59:37 +00:00
Ramiro Polla
3defa81fc4 MinGW runtime 3.15 has a wrapper for usleep().
Originally committed as revision 15522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-02 17:43:27 +00:00
Stefano Sabatini
987903826b Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.'  to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".

Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:39:47 +00:00
Michael Niedermayer
c5e56a813b Revert r14497
Log:
	Add missing header #includes.
Policy violation (change not approved by maintainer)
and while discussions where ongoing and no consensus has been reached.

Originally committed as revision 14500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-01 22:29:29 +00:00
Diego Biurrun
2e11268ea9 Add missing header #includes.
Originally committed as revision 14497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-01 16:29:26 +00:00
Diego Biurrun
d952638699 typo: occured --> occurred
Originally committed as revision 12549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-22 01:06:57 +00:00
Ramiro Polla
54b6249681 Define WIN32_LEAN_AND_MEAN before including windows.h to exclude
rarely-used header files.

Originally committed as revision 12378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-08 19:00:55 +00:00
Ramiro Polla
a06ba2a18d Include windows.h instead of trying to redeclare Sleep
os_support.h used to be included in all lavf files, and including windows.h
here caused a significant slowdown.

Originally committed as revision 12377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-08 18:59:45 +00:00
Ramiro Polla
409e1d71ea Put network-related code under #ifdef
Originally committed as revision 12372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-08 17:43:53 +00:00
Ramiro Polla
591cf1170b Group network-related code together
Originally committed as revision 12371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-08 17:43:10 +00:00
Ramiro Polla
5dea940937 __stdcall -> WINAPI
Windows x64 has no __stdcall.
It is not yet supported, but someday it might...

Originally committed as revision 12363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-07 19:47:44 +00:00
Luca Abeni
f8cda19ee6 Include poll.h instead of sys/poll.h
Originally committed as revision 11924 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-13 12:51:14 +00:00
Dave Yeo
72be9e73ae Add portable way to check for the existence of definitions and
apply it to socklen_t.
patch by Dave Yeo, daveryeo telus net

Originally committed as revision 11366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-01 22:54:35 +00:00
Michael Kostylev
4f365f37b5 djgpp port, first part
patch by Michael Kostylev, mik niipt ru

Originally committed as revision 11313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-24 12:49:27 +00:00
Diego Biurrun
d2f5fe7cc7 Remove possibly misleading comments.
Originally committed as revision 11095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-27 11:27:50 +00:00
Diego Biurrun
5b21bdabe4 Add FFMPEG_ prefix to all multiple inclusion guards.
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-17 09:37:46 +00:00
Alex Beregszaszi
3cf9ea7f48 use proper closesocket defines
Originally committed as revision 9992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-08 20:25:32 +00:00