0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
mpv/libmpdemux
rfelker 4eb1b755bb Fix the ogg fourcc nightmare!!!
The problem: once upon a time, windows idiots decided to try to store
vorbis-in-ogg-in-avi. Of course this failed miserably, but they used
the audio format tag 0xfffe for "extended" to do this. Later someone
working on MPlayer somehow decided 0xfffe was the format for vorbis,
which is nonsense, and now that's conflicting with real wav files with
extended audio format. This patch changes demux_ogg (and mkv) to use
sane fourcc's for vorbis and theora and gets rid of the 0xfffe
nonsense so hopefully wav files with extended audio will work now.
If there are problems, we'll have to find workarounds...and drive an
18-wheeler full of cola thru the house of whoever wrote this 0xfffe
nonsense in MPlayer to begin with...


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14844 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-02-27 18:11:17 +00:00
..
realrtsp fix security vulnerability reported by iDEFENSE 2004-12-15 18:16:24 +00:00
.cvsignore Move ignores in subdirs to their respective .cvsignore files. 2001-11-17 23:55:40 +00:00
ai_alsa1x.c ALSA 1.x audio out driver 2004-01-11 17:07:32 +00:00
ai_alsa.c v4l2 support 2003-08-07 12:24:35 +00:00
ai_oss.c fix some 10ls in sample rate handlin 2004-01-29 12:43:54 +00:00
asf_mmst_streaming.c remove all setlocale calls, they break the behaviour of sscanf and 2005-01-20 13:22:53 +00:00
asf_streaming.c fix for streams that do not send a bitrate 2005-02-03 20:13:44 +00:00
asf.h bunkus: Encapsulated arguments to #define in ( ... ) so that the #defines can be safely used like functions: mydef(flag ? val1 : val2) 2003-01-15 11:16:33 +00:00
asfheader.c fix stream selection and -bandwidth for mms-over-http. 2004-12-25 11:31:32 +00:00
audio_in.c ALSA 1.x audio out driver 2004-01-11 17:07:32 +00:00
audio_in.h ALSA 1.x audio out driver 2004-01-11 17:07:32 +00:00
aviheader.c switch from DIVX -> FMP4 fourcc for libavcodec 2005-02-22 20:24:18 +00:00
aviheader.h x86_64 fix by John Stebbins <john@stebbins.name> 2004-07-12 08:55:10 +00:00
aviprint.c removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski 2004-04-28 10:18:33 +00:00
bswap.h libdemuxer... 2001-10-20 18:49:08 +00:00
cache2.c prevent segfault on shmem failer 2004-07-26 22:06:30 +00:00
cdd.h GCC warning fixes 2002-10-29 09:18:53 +00:00
cdda.c cdda: endianness fix 2003-12-16 07:35:04 +00:00
cddb.c potentially exploitable buffer overflow with maliciously crafted cd toc 2004-04-26 09:33:35 +00:00
cdinfo.c Moved all the cdinfo specific from cddb to a standalone file, so 2002-09-17 19:49:57 +00:00
config.h libdemuxer... 2001-10-20 18:49:08 +00:00
cookies.c using more common function strchr instead index 2003-12-09 11:27:10 +00:00
cookies.h Send HTTP Cookies (reading from mozilla/netscape files) support by Dave Lambley <mplayer-dev-eng@dlambley.freeserve.co.uk>. Disabled by default. 2003-12-08 13:25:35 +00:00
cue_read.c string handling security fixes 2004-06-25 16:49:53 +00:00
cue_read.h vcd_read_cue.h -> cue_read.c+h 2003-01-05 23:51:05 +00:00
demux_asf.c Move generic length and percent pos calculation to demuxer.c 2005-01-15 16:11:45 +00:00
demux_audio.c Fix possible hang when playing broken MP3 from linear stream and remove 2005-01-29 12:55:56 +00:00
demux_avi.c Move generic length and percent pos calculation to demuxer.c 2005-01-15 16:11:45 +00:00
demux_avs.c 10l 2005-02-13 21:36:56 +00:00
demux_avs.h avisynth demuxer patch by Gianluigi Tiesi <mplayer at netfarm.it> 2005-02-13 13:39:19 +00:00
demux_demuxers.c Free the stream of the audio and subtitle demuxer. 2003-03-27 20:40:50 +00:00
demux_film.c Added demuxer uninit 2002-04-24 15:36:07 +00:00
demux_fli.c Pass header to codec in extradata (needed by ffmpeg fli decoder) 2004-01-25 17:36:30 +00:00
demux_gif.c gif library incompatibility fixes and prefere libungif over libgif. Patch by Joey Parrish <joey@nicewarrior.org> 2003-02-19 16:55:14 +00:00
demux_lavf.c discard lavf packets with wrong ids 2005-01-30 09:13:28 +00:00
demux_lmlm4.c 100l 2004-01-16 03:56:25 +00:00
demux_mf.c fopen requires binary flag on windows, too 2003-04-26 12:27:56 +00:00
demux_mkv.c Fix the ogg fourcc nightmare!!! 2005-02-27 18:11:17 +00:00
demux_mov.c Mp3On4 demuxer support 2005-02-15 21:04:33 +00:00
demux_mpg.c Move generic length and percent pos calculation to demuxer.c 2005-01-15 16:11:45 +00:00
demux_nsv.c avoid always skipping first junk with a "sync lost" message 2004-09-09 19:28:54 +00:00
demux_nuv.c - demuxer->audio->id is set to -2 when using 'frameno.avi', so 2002-09-30 21:10:41 +00:00
demux_ogg.c Fix the ogg fourcc nightmare!!! 2005-02-27 18:11:17 +00:00
demux_pva.c warning patch by (Dominik Mierzejewski <dominik at rangers dot eu dot org>) 2002-11-23 10:58:14 +00:00
demux_rawaudio.c needed for a/v sync with compressed audio (e.g. raw .mp2 or .ac3 file) 2004-04-26 03:11:08 +00:00
demux_rawdv.c support for raw DV >2Gb 2003-08-07 13:25:03 +00:00
demux_rawvideo.c y420 vs i420 typo 2004-12-16 23:54:59 +00:00
demux_real.c Do not read any more data at eof: if got eof in the middle of an audio 2005-01-24 21:57:07 +00:00
demux_realaud.c 10l 2003-11-30 19:04:27 +00:00
demux_roq.c removed nonsense stream_reset/seek in check_file() 2003-04-30 20:24:09 +00:00
demux_rtp_codec.cpp Oops, removed a debugging printf from teh previous version. 2003-11-06 05:55:52 +00:00
demux_rtp_internal.h LIVE.COM tests moved to ./configure 2004-08-09 08:22:10 +00:00
demux_rtp.cpp Updated to conform to a small change in the LIVE.COM API. 2004-07-20 02:12:08 +00:00
demux_rtp.h Added support for handling multiplexed audio+video RTP streams. 2004-02-22 06:19:24 +00:00
demux_smjpeg.c 10l found by Mark Berryman <mplayer@theberrymans.com> 2003-10-14 09:59:46 +00:00
demux_ts.c 50000l: fixed various memleaks; CC discontibuities aren't necessarily error conditions 2005-02-25 22:27:46 +00:00
demux_ty_osd.c many small typo and grammar fixes 2003-10-04 17:29:08 +00:00
demux_ty.c Move generic length and percent pos calculation to demuxer.c 2005-01-15 16:11:45 +00:00
demux_viv.c make stupid gcc versions happy 2004-03-31 05:40:31 +00:00
demux_vqf.c TwinVQ decoder and demuxer 2004-12-29 19:51:56 +00:00
demux_xmms_plugin.h XMMS Input plugin support 2002-12-22 21:01:01 +00:00
demux_xmms.c removing AFMT_ dependancy 2004-12-27 17:55:06 +00:00
demux_y4m.c fix bug reported by Leonardo Giordani: sh->aspect is not pixel aspect but movie aspect 2004-06-03 09:52:25 +00:00
demuxer.c avisynth demuxer patch by Gianluigi Tiesi <mplayer at netfarm.it> 2005-02-13 13:39:19 +00:00
demuxer.h avisynth demuxer patch by Gianluigi Tiesi <mplayer at netfarm.it> 2005-02-13 13:39:19 +00:00
dvb_defaults.h new configuration structure, gcc warn silencing 2004-04-26 21:22:33 +00:00
dvb_tune.c added support for ATSC tuner and conf.file 2005-01-06 09:43:10 +00:00
dvbin.c added support for ATSC tuner and conf.file 2005-01-06 09:43:10 +00:00
dvbin.h added support for ATSC tuner and conf.file 2005-01-06 09:43:10 +00:00
dvdnav_stream.c linux->osdep 2003-02-09 20:18:23 +00:00
dvdnav_stream.h dvdnav_stream functions - dvdnav patch by Kees Cook <mplayer@outflux.net> 2002-04-03 17:50:48 +00:00
ebml.c 100l, no endian conversion on floats! 2005-01-13 21:56:06 +00:00
ebml.h freebsd fix (btw, why does it needs this int_max shit? 2004-01-25 16:17:38 +00:00
extension.c swf and flv through libavformat 2005-02-21 17:36:42 +00:00
frequencies.c Russian frequencies by Alexander S. Belov <asbel@sice.ru> 2002-12-20 13:18:41 +00:00
frequencies.h tv frequencies 2001-11-16 22:06:48 +00:00
genres.h more genre IDs by Bernd Ernesti <mplayer@lists.veego.de> 2004-08-22 14:43:42 +00:00
help_mp.h libdemuxer... 2001-10-20 18:49:08 +00:00
http.c free http field_name to fix memleak 2005-01-11 17:49:59 +00:00
http.h GCC warning fixes 2002-10-29 09:18:53 +00:00
Makefile added a stream module for the vstream client library 2005-02-27 04:25:12 +00:00
matroska.h Handle missing palettes in the info part of VobSubs in Matroska files correctly by giving mplayer a NULL pointer. This way it will use a default palette instead of black only. Patch by Csillag Kristof (fenwick () freemail ! hu) 2005-01-21 18:25:44 +00:00
mf.c enable mf support on mingw32 2003-04-25 10:20:15 +00:00
mf.h Stream cleanup, don't use blah_on options anymore. 2003-03-30 17:07:31 +00:00
mp3_hdr.c codmetics (noticed by Alex) 2003-07-04 21:04:14 +00:00
mp3_hdr.h Fix vbr muxing and win32 codec crash on init 2002-07-21 14:36:33 +00:00
mp_msg.h libdemuxer... 2001-10-20 18:49:08 +00:00
mpeg_hdr.c framerate autodetection for H264 in raw/ts streams 2005-02-24 20:02:41 +00:00
mpeg_hdr.h framerate autodetection for H264 in raw/ts streams 2005-02-24 20:02:41 +00:00
ms_hdr.h Better protection against double definition of MPEGLAYER3WAVEFORMAT 2004-08-09 15:53:10 +00:00
muxer_avi.c new mpeg muxer compatible with dvd/[s]vcd; small changes in the muxer layer (sanity checks in the muxer_init functions) 2005-02-21 21:45:49 +00:00
muxer_lavf.c initial, extremely experimental, libavformat muxer; don't expect anything to work yet 2005-02-21 23:18:31 +00:00
muxer_mpeg.c soft telecine support! :)) patch by nico 2005-02-27 06:24:19 +00:00
muxer_rawvideo.c new mpeg muxer compatible with dvd/[s]vcd; small changes in the muxer layer (sanity checks in the muxer_init functions) 2005-02-21 21:45:49 +00:00
muxer.c initial, extremely experimental, libavformat muxer; don't expect anything to work yet 2005-02-21 23:18:31 +00:00
muxer.h initial, extremely experimental, libavformat muxer; don't expect anything to work yet 2005-02-21 23:18:31 +00:00
netstream.h tcp fragging bugfix by Song Du <freewizard at gmail.com> 2004-06-25 15:21:43 +00:00
network.c added support for raw udp:// streaming 2005-02-17 20:55:57 +00:00
network.h enable seeking in http streams 2004-02-17 12:30:45 +00:00
nuppelvideo.h needed 2001-12-27 22:20:15 +00:00
open.c added a stream module for the vstream client library 2005-02-27 04:25:12 +00:00
parse_es.c config.h cleanup, few things added to steram/demuxer headers 2001-10-30 17:03:11 +00:00
parse_es.h libdemuxer... 2001-10-20 18:49:08 +00:00
parse_mp4.c allow early exit from esds parsing, so decoder info (type & bitrate) are 2002-08-05 18:22:51 +00:00
parse_mp4.h Extended support for other object type IDs in the ESDS. This enables e.g. MPEG2 video in the MP4 container. 2004-11-15 15:04:57 +00:00
pnm.c Security fixes ported from upstream (xine) 2004-12-15 21:27:14 +00:00
pnm.h pnm:// support (ported from xine) 2002-12-26 17:25:22 +00:00
qtpalette.h static tables 2004-06-25 17:03:59 +00:00
README some more rtfm 2001-10-21 16:05:21 +00:00
rtp.c Make rtp:// cohexist with LIVE.COM 2004-07-11 22:47:49 +00:00
rtp.h Make rtp:// cohexist with LIVE.COM 2004-07-11 22:47:49 +00:00
stheader.h Remove file-global mpadec, add ad_driver member to sh_audio_t instead. 2005-02-25 11:17:43 +00:00
stream_file.c mingw stdin fixes 2004-07-31 11:08:47 +00:00
stream_ftp.c fix compilation on mingw 2003-08-17 11:07:18 +00:00
stream_netstream.c serious bugs - 1l absinth (changed to absinth against cola inflation) 2003-08-31 18:51:05 +00:00
stream_null.c Add a null streamv Currently used for tv and mf. Could be used to 2003-04-10 10:59:12 +00:00
stream_vcd.c enable vcd for all darwin based sys not only mac osx 2004-10-18 21:05:14 +00:00
stream_vstream.c more on tivo vstream support.. 1000l to Joey for forgetting this file and breaking MPlayer build! :) 2005-02-27 05:53:12 +00:00
stream.c added a stream module for the vstream client library 2005-02-27 04:25:12 +00:00
stream.h added a stream module for the vstream client library 2005-02-27 04:25:12 +00:00
test.c Fix test compilation 2003-03-30 17:14:41 +00:00
tv.c several sets of headers declare global variables in them, which causes multiple definition errors with gcc 4.x 2005-01-29 12:24:43 +00:00
tv.h several sets of headers declare global variables in them, which causes multiple definition errors with gcc 4.x 2005-01-29 12:24:43 +00:00
tvi_bsdbt848.c removing AFMT_ dependancy 2004-12-27 17:30:15 +00:00
tvi_def.h *HUGE* set of compiler warning fixes, unused variables removal 2002-11-06 23:54:29 +00:00
tvi_dummy.c and more and more stupidity 2004-05-01 18:30:38 +00:00
tvi_v4l2.c removing AFMT_ dependancy 2004-12-27 17:30:15 +00:00
tvi_v4l.c removing AFMT_ dependancy 2004-12-27 17:30:15 +00:00
url.c uber 10l found by Ilia <chest4l at mail.ru> 2004-06-25 14:57:01 +00:00
url.h Added support for IPv6 numeric url like: http://[3ffe:400:100::1]:80/file 2003-03-26 11:27:48 +00:00
vcd_read_darwin.h fix build on darwin ppc 2004-11-01 17:57:00 +00:00
vcd_read_fbsd.h typo fix 2003-04-10 08:34:43 +00:00
vcd_read_nbsd.h OpenBSD portability patches from the OpenBSD ports tree 2004-07-11 22:23:57 +00:00
vcd_read.h solaris fix by Gtz Waschk <waschk@informatik.uni-rostock.de> 2003-06-17 22:28:29 +00:00
video.c framerate autodetection for H264 in raw/ts streams 2005-02-24 20:02:41 +00:00
videodev2.h v4l2 support 2003-08-07 12:18:04 +00:00
yuv4mpeg_intern.h avoids a warning 2002-01-27 17:16:10 +00:00
yuv4mpeg_ratio.c yuv4mpeg2 (mjpegtools) support by Rik Snel <rsnel@cube.dyndns.org> 2001-12-27 02:08:31 +00:00
yuv4mpeg.c replace almost obsolete email address: snel@phys.uu.nl -> rsnel@cube.dyndns.org 2005-01-08 14:32:26 +00:00
yuv4mpeg.h replace almost obsolete email address: snel@phys.uu.nl -> rsnel@cube.dyndns.org 2005-01-08 14:32:26 +00:00

libmpdemux - MPlayer's input/demuxer layer  (C) A'rpi / MPlayer team
==========================================

NOTE: It is not in the final form yet! API may change...

Stream input layer:
===================
#include "stream.h"

Supported modes:
- file (by 2048 byte sectors) including STDIN (if filename "-")
- VCD disk (by 2324 byte mode2 sectors)
- network (buggy, mpg/avi download-like streaming works, asf not)
- DVD disk using with libdvdread 0.8 or 0.9

Note: optional CACHE layer with read-ahead and seek-back buffer (not finished)

Demuxer layer:
==============
#include "demuxer.h"

Supported formats:
- MPEG (PS,PES,VOB,ES), including VCD disk image files (.ISO/.BIN)
- AVI, with or without index, interleaved and non-interleaved formats
- ASF v1.0 (aka .wmv/.wma)
- Quicktime MOV - including compressed headers, CBR and VBR

Others:
=======
#include "stheader.h" - audio and video stream structs used by header parsers
#include "parse_es.h" - Mpeg ES stream parser

Using it outside of mplayer tree:
=================================
It uses a few things from mplayer tree:
config.h - system-dependent options, see ./configure
mp_msg.c/.h - mplayer's message printing code - copy it or impement your own
help_mp.h - error/info message texts
bswap.h - little/big endian conversion

If you use it in your project - please tell me!

A'rpi - arpi@thot.banki.hu