Commit Graph

3672 Commits

Author SHA1 Message Date
Uoti Urpala 90bedd0b87 Make audio stream index handling saner in stream switching
The handling of audio stream numbering was handled in the stream
selection property was a total mess. The most important issue was
confusion between values used as index for demuxer->audio_streams[]
array (consistently stored in demuxer->audio->id) and values stored
in sh_audio->aid and used as "-aid N" option values. Now demuxer audio
switch control functions and demuxer_switch_audio() are supposed to
return the new value for the "-aid" option (internal MPEG demuxers
still don't; the demuxer requirement could perhaps be dropped as it
can be easily calculated afterwards). That is also the value
returned for the "switch_audio" property. The main changes are:

 - Make command.c mp_property_audio() consistently use and return the
   "-aid" values. Before it used that as input but the array index as
   output, with extra mess related to demuxer_switch_audio() return
   value. Don't modify the audio_id option field any more.

 - Make demuxer_switch_audio() always return "-aid" values (like it
   takes as input). There are two changes for this: picking this
   return value in case the demuxer doesn't support switching, and
   overriding demuxer return value (for internal MPEG demuxers).

 - Make demux_lavf return "-aid" values from DEMUXER_CTRL_SWITCH_AUDIO
   code. This isn't actually necessary because of the override part
   above.

Here's some history of the relevant behavior that I looked up:
* For most demuxers array index and "-aid" values are the same. At
  least demux_mkv, (some of?) the internal MPEG demuxers and demux_ogg
  have differed for a long time. demux_ogg doesn't matter because it
  doesn't support stream switching.
* Old code seemed to assume that demuxer_switch_audio() return value was
  array index, but this wasn't true at least for demux_mkv.
* In svn r19951 reimar mostly removed use of the return value.
* In r20162 ptt added mp_property_audio(). This set the global
  audio_id variable (-aid option value) to the return value of
  demuxer_switch_audio() and treated the global as the persistent
  value of the property, apparently assuming that it would be set to
  the "-aid" value, not array index. This was false for internal
  MPEG.
* In r30124 reimar changed the property code so that even though it
  still modified the option value it didn't use that as the value of
  the property any more; instead it incorrectly used the array index.
  This meant that for demux_mkv the return value didn't match -aid any
  more (though input still did, so setting the property and querying
  it didn't match as they used different value systems).
* In r31129 aurel made demux_lavf changes that resulted in its -aid
  and array index values no longer matching either. He didn't change
  the return value from audio switch when changing -aid, so it now
  matched array index only. The latter part didn't cause additional
  problems from r20162 though because either choice would have been
  broken anyway after r30124 as long as they weren't the same value.
2010-05-22 10:11:25 +03:00
Uoti Urpala b3a688d45f options: move -alang and -slang to option struct
The option field corresponding to -slang is now called "sub_lang"
instead of the old misleading global name "dvdsub_lang". The code
handling -slang in subreader.c looks rather broken; disable it instead
of converting it to use the option field.
2010-05-22 10:11:15 +03:00
Uoti Urpala de5566f0b5 stream.h: remove bad EOF check in stream_seek()
Also remove a redundant stream->eof = 0 in demuxer.c.
2010-05-22 06:40:34 +03:00
Anton Khirnov de42015a97 demux_mkv: read tags. 2010-05-22 06:40:34 +03:00
Anton Khirnov bc072fb7dc demux: use bstr arguments for demuxer_add_attachment() and demuxer_add_chapter() 2010-05-22 06:40:28 +03:00
cehoyos 4e2622ed33 Do not use correct-pts for mpeg-ps: It breaks PAFF samples.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31190 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-22 01:17:59 +00:00
Anton Khirnov 9f508dab97 demuxer.c: add demux_info_add_bstr(), use talloc for info field
demux_info_add() is now a wrapper around demux_info_add_bstr().
2010-05-21 00:06:26 +03:00
Uoti Urpala d72541b75c bstr.[ch]: add new files for struct bstr related functionality
Move "struct bstr" definition from ebml.h to its own header and add
some utility functions/macros. Change length field type from int to
size_t and adjust using code accordingly.

Partially based on a patch from Anton Khirnov.
2010-05-20 23:50:18 +03:00
diego 12f67b8372 Remove internal liba52 copy.
Nowadays FFmpeg is faster than liba52 and external liba52 is well supported.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31147 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-09 14:45:29 +00:00
diego 3921b71706 Use the system liba52 headers when internal liba52 is disabled, fixes:
libmpdemux/muxer_mpeg.c:2121: warning: implicit declaration of function 'a52_syncinfo'


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31146 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-09 12:28:15 +00:00
Uoti Urpala e1cd86076f Merge svn changes up to r31141 2010-05-07 22:13:35 +03:00
Uoti Urpala eee666c3b5 Merge svn changes up to r31133 2010-05-07 21:19:53 +03:00
aurel 88b6dd6fc2 cosmetic: typo, this wasn't supposed to be plural
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31137 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-04 18:46:42 +00:00
aurel eaff21c633 print a more detailed and more useful description of each stream with lavf
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31132 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-03 22:45:00 +00:00
aurel c58a1d4acb 10l: correctly use video_stream instead of audio_stream in the video section
( copy&paste error :( )


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31131 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-03 22:40:00 +00:00
aurel 8be7c74c64 add ID_..._NAME to -identify for each lavf stream which has a title
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31130 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-03 22:30:06 +00:00
aurel 59058b54a7 uniformize handling of aid and vid with lavf so that it matches handling of sid
aid and vid are now 0-based, instead of being a globally unique id.
This matches the way sid is handled and the way other demuxers manage aid.
As a side effect, it slightly simplifies demux_lavf.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31129 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-03 22:19:52 +00:00
cehoyos 0fd8d985f0 Silence permanent warning messages when decoding H264 over rtsp with
live555.

Patch by Gil Pedersen, gil A cmi D aau D dk 


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31128 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-02 10:47:40 +00:00
reimar 11b178be9a Continue probing even for score == AVPROBE_SCORE_MAX / 4 to match
FFmpeg's behaviour.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31111 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-01 15:38:37 +00:00
reimar dd8db7f620 Use av_probe_input_format2 and avoid accepting detection
while the score is still low.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31110 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-01 13:50:49 +00:00
Uoti Urpala 035611f0a7 demux_y4m: fix failure with nonseekable input
Playback of nonseekable y4m streams was broken by a change merged from
svn, r30970 which added support for multiple yuv4mpeg files
concatenated together. The change included a stream_skip(stream, -1)
call which only works for seekable files. Work around this by
disabling the concatenated-file check for nonseekable streams. This
means concatenated files are only supported if the stream is seekable,
but this is an improvement compared to the svn commit which caused a
regression making _all_ files fail in the nonseekable case.

It would be reasonably easy to make the concatenation support work in
all cases, either by modifying demux_y4m or (probably better) adding a
general stream API to allow pushing back the read byte. However for
now I'm only fixing the regression with the above trivial change.
2010-04-30 20:07:38 +03:00
Uoti Urpala 9a34ae4fd0 Merge svn changes up to r31050 2010-04-26 18:46:18 +03:00
Uoti Urpala e913d6c5da Merge svn changes up to r31004 2010-04-26 17:55:05 +03:00
Uoti Urpala 6a7956a11b Merge svn changes up to r30972 2010-04-26 17:44:48 +03:00
Uoti Urpala 4785c2617e Merge svn changes up to r30967 2010-04-26 17:42:20 +03:00
Uoti Urpala ff559b8e90 Merge svn changes up to r30907 2010-04-26 16:57:25 +03:00
Uoti Urpala 05ae9dbd0d Fix chapter handling with first chapter not at beginning of file
Before "-chapter 1" did nothing even if the first chapter didn't start
at the beginning of file. Fix it.
Before all chapter property commands (including chapter seek keys)
failed if the current playback position was before the start of the
first chapter. Now they'll work. Relative chapter seeks will go to the
first chapter (even if that's in the wrong direction for backward
seeks).
2010-04-25 22:48:10 +03:00
Uoti Urpala dd1760e697 demux_mkv: fix verbose output of chapter numbering
The "Chapter N from..." lines printed with -v used wrong N.
2010-04-25 22:48:10 +03:00
Uoti Urpala 7be5f14c3a demux_lavf, stream_ffmpeg: support librtmp seeks 2010-04-23 23:50:34 +03:00
Uoti Urpala 1d4d1bff82 stream_ffmpeg, demux_lavf: Use flv demuxer for rtmp streams
Use lavf's flv demuxer for rtmp/rtmps/... stream types. Letting
generic format probing handle this could work, but with the current
probing implementation it'd at least depend on not-really-guaranteed
details of the stream layer (probing different formats and then
decoding depends on seeking back in between; rtmp streams don't
support such seeking directly so would need to rely on details of
caching behavior).
2010-04-23 22:57:25 +03:00
Uoti Urpala 4583c12a2c options: move lavfdopts to option struct 2010-04-23 22:08:18 +03:00
Uoti Urpala 19907b8fbc demuxer.c: clean up stream-seek code
Only try to use the dvd/dvdnav stream seek hack with those stream
types. Generally demuxers can not be expected to cope with the stream
suddenly seeking under them. In principle it would be more correct to
make the test demuxer-based (instead of assuming that using stream
seeks in this manner is OK with whatever demuxer that will be used
with these streams), but that'd be more work.
2010-04-23 21:01:21 +03:00
Uoti Urpala f9d224b1ad Move some sh_audio field setting out of demuxer.c
These fields are decoder details, not information set by the demuxer.
2010-04-23 20:50:11 +03:00
Uoti Urpala e3bd668ebd Move seek-reset functionality out of demuxer.c
Move code for resetting decoders after seeks, chapter seeks and angle
changes out of demuxer.c. This functionality belongs on a higher
level; the demux layer can't always know what kind of reinitialization
is required.
2010-04-23 20:14:59 +03:00
diego 7120f1dfba Merge two redundant if checks, patch by ubitux, ubitux gmail com.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31042 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-04-16 01:42:28 +00:00
diego e903e9eb5e cosmetics: reindent demux_ogg.c to K&R style plus some prettyprinting
patch by ubitux, ubitux gmail com


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31041 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-04-16 01:34:32 +00:00
diego 51d72c7764 Mark muxer-related m_option_t arrays as const.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31000 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-04-04 16:12:23 +00:00
reimar c800858e60 Make audio switching with AVI demuxer chose the first audio stream
if audio is disabled instead of ignoring the request.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30979 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-31 18:45:00 +00:00
reimar 67dcbed681 Support concatenated YUV4MPEG files.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30970 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-27 16:01:22 +00:00
reimar ce67a0caf7 Use calloc instead of malloc+memset
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30969 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-27 15:35:59 +00:00
reimar df61424414 100l, fix frametime calculation for MPEG-2 files with frame rate extension.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30966 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-27 12:47:26 +00:00
reimar 364fb6d26f Reindent
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30947 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-22 19:39:43 +00:00
reimar b28b15db30 Start probing with a size matching the stream buffer size so it is possible
to restart without seeking even without cache for easily detectable formats.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30946 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-22 19:38:42 +00:00
Uoti Urpala 4a70750f5f demux_mkv: Fix problem with compressed subtitle private data
Convert demux_mkv_decode() to allocate possible new storage with
talloc and fix a talloc/malloc conflict in demux_mkv_open_sub() that
broke decoding of files which had a subtitle track with compressed
private data.
2010-03-21 18:46:06 +02:00
cehoyos 6c239f12ff Calculate width and height in mp4_header_process_vop().
Fixes elementary streams with -vc ffodivxvdpau and the native demuxer.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30904 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-15 22:32:11 +00:00
cehoyos 0eee2d2bd5 Fix value of bit counter at end of functions to prepare for future patches.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30903 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-15 22:28:08 +00:00
Uoti Urpala 00323c06e2 Delete things related to old translation system
Remove the help/ subdirectory, configure code to create toplevel
help_mp.h, and all the '#include "help_mp.h"' lines from .c files.
2010-03-10 03:47:14 +02:00
Uoti Urpala b996250a2a Merge svn changes up to r30879 2010-03-10 03:20:23 +02:00
Uoti Urpala 0269d22d32 Merge svn changes up to r30876 2010-03-10 03:18:42 +02:00
Uoti Urpala bc1d0ca37d Merge svn changes up to r30798 2010-03-10 02:35:02 +02:00
Uoti Urpala e74708f619 Merge svn changes up to r30748 2010-03-10 01:50:55 +02:00
Uoti Urpala acdce0176a Merge svn changes up to r30732 2010-03-10 01:25:15 +02:00
Uoti Urpala 0dce155dd3 Merge svn changes up to r30694 2010-03-10 01:01:15 +02:00
Uoti Urpala 5099b1458d Merge svn changes up to r30683 2010-03-10 00:52:17 +02:00
Uoti Urpala 327463be52 Merge svn changes up to r30672 2010-03-10 00:34:16 +02:00
Uoti Urpala 13221a7165 Merge svn changes up to r30663
Conflicts:
	gui/cfg.c
	libmpcodecs/vd_dmo.c
	mplayer.c
2010-03-10 00:13:11 +02:00
Uoti Urpala c37f09693d Merge svn changes up to r30643 2010-03-10 00:00:06 +02:00
Uoti Urpala 89c5ed5e9a Merge svn changes up to r30605 2010-03-09 23:44:57 +02:00
Uoti Urpala 42bf12c2d3 Merge svn changes up to r30595
Conflicts:
	mplayer.c
	vidix/nvidia_vid.c
2010-03-09 23:37:00 +02:00
Uoti Urpala 36e7a20e69 Merge svn changes up to r30550 2010-03-09 23:03:14 +02:00
reimar e03ff1e0ef Return MP_NOPTS_VALUE if we can't figure out the pts, not 0.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30879 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-09 19:21:39 +00:00
reimar da87897b1b Improve handling of 0-size ogg packets.
Fixes bug 1664.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30878 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-09 19:19:32 +00:00
Uoti Urpala bc0f524909 Merge svn changes up to r30502
Conflicts:
	libswscale/rgb2rgb.c
	libswscale/rgb2rgb.h
	libswscale/swscale.c
	libvo/x11_common.c
2010-03-09 19:44:28 +02:00
cehoyos 97ef28ad9a Fix alpabetical order.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30876 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-09 17:15:07 +00:00
cehoyos 12d78a9e5c Support SEGA CRI adx codec with demuxer lavf.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30875 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-09 14:33:11 +00:00
Uoti Urpala 5fc54a6caa demuxer.h: increase input buffer padding to 64 to match FFmpeg
FFmpeg increased the amount of padding that must be readable beyond
input buffers without SIGSEGV from 8 to 64, and the MPlayer value must
be changed accordingly.
2010-03-09 15:00:37 +02:00
iive 1ede72d581 Increase mplayer buffer padding size to match the new one from ffmpeg.
Allows compilation.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30860 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-07 23:18:37 +00:00
Uoti Urpala b34a88e4f4 translations: tweak cases that relied on concatenating adjacent strings
Tweak some code parts that used to rely on string literals from
translation macros being concatenated with other adjacent string
literals. Break up the resulting string into independently translated
parts, so that the existing translations for those parts can still be
used.
2010-03-07 21:35:23 +02:00
Uoti Urpala 5234c72e28 Restore collapsed whitespace in output messages
For some reason commit e306174952, which
replaced translation macro names with the corresponding English
strings, also collapsed multiple consecutive space characters into
one. Change most of these back. In a couple of cases the amount of
whitespace is important for alignment, and for the rest it at least
keeps the strings closer to the existing translations.
2010-03-07 21:34:54 +02:00
cehoyos c44915814c Remove unused static function mp_mp3_get_lsf().
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30774 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-27 21:29:06 +00:00
diego 01c5a73c53 Remove pointless #ifdef checks for DEMUXER_H, which is never set.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30759 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-27 12:48:11 +00:00
diego 664e5bb9b8 Remove unnecessary stream.h #includes.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30758 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-27 12:45:12 +00:00
cehoyos 3a43f13fce Fix compilation of C++ source files (partly reverts r30744).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30755 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-27 11:32:48 +00:00
diego 89777b1f57 cosmetics: Rename "codecs_st" struct to just plain "codecs".
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30752 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-26 20:01:04 +00:00
diego b63759b175 Do not cast the results of malloc/calloc/realloc.
These functions return void*, which is compatible with any pointer,
so there is no need for casts.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30744 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-26 15:01:37 +00:00
reimar 136c046e06 Add cast to proper type.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30738 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-25 22:44:02 +00:00
tack cc8a878a9c Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a
wave file.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30709 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-22 14:27:32 +00:00
diego 22e310b9ae Declare public function print_vprp() in aviprint.h.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30694 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-21 23:36:36 +00:00
diego 5c85286eb5 Drop weird and unnecessary _s/_st suffixes from demuxer struct names.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30686 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-21 20:03:49 +00:00
diego 6ed62435a7 Add names to anonymous structs sh_common, sh_audio, sh_video, sh_sub.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30685 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-21 20:02:50 +00:00
diego e0bc115b4d cosmetics: Rename struct vf_instance_s --> vf_instance.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30684 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-21 15:48:03 +00:00
reimar 160b880c4f Fix fps output with -identify when frame rate extension is used for MPEG-2
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30683 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-21 14:43:36 +00:00
reimar b3406c7d67 Initialize frame rate extension fields in mp_header_process_sequence_header
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30682 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-21 14:05:51 +00:00
reimar 264e6c23fe Parse and use the information from the frame rate extension header for MPEG-2.
-identify still does not show the right values though.
Fixes bug #1636.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30681 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-21 13:53:41 +00:00
kostya 88f86bcc4d FFmpeg supports Bink, let MPlayer play it as well
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30679 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-21 13:38:55 +00:00
diego 8ba6b4eaf9 cosmetics: Remove pointless empty lines at EOF.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30675 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-20 21:02:49 +00:00
reimar 9554a844e9 Do not discard stream buffer on eof, instead reuse it to slightly improve
format autodetection with -nocache and non-seekable streams.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30668 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-20 18:53:07 +00:00
reimar 7329c15d6f Print demuxer name in "freeing demuxer" message.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30666 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-20 17:50:56 +00:00
reimar 1bb4898483 Print all 64 bits of seek position.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30662 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-20 11:21:51 +00:00
diego 0055441774 Add header for AVI print functions; avoids many forward declarations.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30631 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-18 00:18:50 +00:00
diego 01df6700de Add header for asf_check_header, read_asf_header; avoids forward declarations.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30629 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 23:45:01 +00:00
diego e52d7ceb38 #include proper header for skip_audio_frame() instead of forward declaring it.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30628 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 23:40:48 +00:00
diego e01e094438 Add header for demux_ogg_open, init_avi_with_ogg; avoids forward declarations.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30627 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 23:36:44 +00:00
diego e606c46526 Remove demux_ogg-related declarations that are no longer necessary.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30626 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 23:33:17 +00:00
diego 2dbe8cf340 Mark demux_ogg_sub_id() as static; it is not used outside of the file.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30625 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 23:27:47 +00:00
diego a37c279d27 Move up demux_ogg_sub_id, demux_ogg_sub_reverse_id; avoids forward declarations.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30624 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 23:25:02 +00:00
diego 965f604636 Add read_avi_header() to aviheader.h; avoids forward declarations.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30623 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 23:10:56 +00:00
diego d28c27df8d Add header file for store_ughvlc(); avoids forward declarations.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30622 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 23:02:13 +00:00
diego 4a9770c1c2 Add mp_getbits() to mpeg_hdr.h to avoid a forward declaration.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30621 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 22:58:03 +00:00
diego 2d776c8c76 libmpdemux: Remove pointless leftover '#if 1' preprocessor instructions.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30620 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 22:52:31 +00:00
diego c66aa21366 Add header for ty_ClearOSD(), ty_processuserdata(); avoids forward declarations.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30619 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 22:48:32 +00:00
diego 6f8c91b9a2 Add separate header for mp_a52_framesize(); avoids forward declarations.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30618 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 22:40:50 +00:00
diego e286b38529 Add config.h header #include; it is required for the HAVE_BIGENDIAN check.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30617 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 22:33:21 +00:00
diego 9905880267 Add separate header for aac_parse_frame(); avoids forward declarations.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30616 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 22:28:24 +00:00
diego 2df3416d32 Add separate header for real_fix_timestamp(); avoids forward declarations.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30615 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 22:22:51 +00:00
diego 69429048a2 Mark mp_mp3_get_lsf() as static; it is not used outside of the file.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30614 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 22:14:04 +00:00
diego 8615d00834 Mark mov_build_index() as static; it is not used outside of the file.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30613 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 22:11:05 +00:00
diego eafb70de50 libmpdemux: Mark functions not used outside of their files as static.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30612 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 22:01:35 +00:00
reimar 20b2f493bb Support FFmpeg's ALS decoder.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30604 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-16 21:54:50 +00:00
diego 465f535c51 #include corresponding .h files in .c files.
This ensures that function declarations in both files always match.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30596 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-16 15:03:03 +00:00
diego cf3100872d Remove pointless header #includes; #include only required header stdint.h.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30590 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-16 11:31:29 +00:00
reimar c2c64b459f Make len unsigned. More correct anyway and avoids sign extension to 64 bit
for the 64+32 bit addition.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30584 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-14 15:17:24 +00:00
reimar b2b8d0e1f2 Simplify and slightly speed up avi_stream_id function.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30583 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-14 15:09:21 +00:00
reimar 5522068821 Simplify.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30580 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-14 14:48:54 +00:00
reimar 59d3c04b58 Dynamically increase probe size for lavf demuxer up to 2 MB.
This will read progressively more data if we still did not detect
the format. The lavfpref demuxer is unaffected to avoid hanging
for a long time in case of a slow network stream that some native
demuxer may be able to handle.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30547 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-12 20:38:29 +00:00
reimar 78ecbc1e6f Replace incorrect usage of strncpy.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30500 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-03 22:36:47 +00:00
reimar 9d9b7a1e22 Reindent
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30499 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-03 22:33:35 +00:00
reimar 8613396aa0 Add support for FFmpeg's rtsp dummy URL-with-pseudo-demuxer scheme.
ffmpeg://rtsp://... will play a rtsp stream via FFmpeg.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30498 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-03 22:32:48 +00:00
Uoti Urpala 4a3de78aae demux_mkv: remove incorrect error message about compression
The demuxer still printed a message about "unknown/unsupported
compression algorithm (3)" even though that is now supported and in
fact played fine.
2010-01-28 17:21:01 +02:00
Uoti Urpala c710c5ee50 Merge branch 'matroska' 2010-01-28 00:56:26 +02:00
Uoti Urpala 6ece23f1b1 Merge svn changes up to r30437 2010-01-28 00:37:32 +02:00
Uoti Urpala 55c50b3f99 demux_mkv: improve compression handling
Add support for compression algorithm 3 (header stripping). Rewrite
some of the code related to handling manyfold compression, it was just
completely broken (I don't have samples to test whether it actually
works now).
2010-01-27 14:26:49 +02:00
Uoti Urpala 1b22101c77 demux_mkv: use new EBML parser to read all track headers 2010-01-27 14:26:49 +02:00
Uoti Urpala 2fd4dc45de demux_mkv: handle compressed text subtitles
The decompression step wasn't run at all for subtitle types other than
vobsub. Fix that. Remove a "!mkv_d->v_skip_to_keyframe" test from the
subtitle handling - for properly timed subtitles unnecessary packets
do little harm, and the subtitles could stay visible.
2010-01-27 14:26:49 +02:00
Uoti Urpala 16ee636a58 demux_mkv: don't print errors for 0-size zlib decoding
Allow decoding a 0-sized buffer with zlib algorithm to produce 0-sized
output. Fixes spurious errors reported with subtitle tracks marked to
use compression for track private data without having any such data.
2010-01-27 14:26:48 +02:00
Uoti Urpala 51fc1f839b demux_mkv: use new EBML parser to read TrackEncodings 2010-01-27 14:26:48 +02:00
Uoti Urpala 7ecafde34f demux_mkv: use new EBML parser to read Video element 2010-01-27 14:26:48 +02:00
Uoti Urpala db41501f23 demux_mkv: use new EBML parser to read Audio element 2010-01-27 14:26:48 +02:00
Uoti Urpala fc907b7488 demux_mkv: use new EBML parser for Info parsing 2010-01-27 14:26:48 +02:00
Uoti Urpala a07cfb35d3 demux_mkv: remove pointless 'long double' use
There was no remaining reason to use this type. The variables were
assigned values with plain double precision anyway.
2010-01-27 14:26:48 +02:00
Uoti Urpala 6e7531c4be demux_mkv: use new EBML parser for chapter parsing 2010-01-27 14:26:48 +02:00
Uoti Urpala 8c0e224097 demux_mkv: use new EBML parser for attachment parsing 2010-01-27 14:26:48 +02:00
Uoti Urpala 49b80fe6b4 demux: take chapter/attachment name strings without 0-termination
Change the demuxer_add_attachment() and demuxer_add_chapter()
functions to take a length argument for various name strings, so those
strings do not need to be 0-terminated. This will make it easier to
directly pass demuxed data without first making a copy just to add
0-termination. Also allocate the struct demuxer data structures for
attachments and chapters with talloc.
2010-01-27 14:26:48 +02:00
Uoti Urpala 298808cddc demux_mkv: don't stop playback on non-Cluster elements
The main demuxing code signaled EOF and stopped playback if it hit a
top-level element other than Cluster. There are files with other
elements between Cluster ones, at least repeated copies of Track
headers. Change the code to skip any non-Cluster element and only stop
searching on real file EOF.
2010-01-27 14:26:48 +02:00
Uoti Urpala d8a6af2980 demux_mkv: improve Cues parsing
Rewrite Cues parsing code using the new EBML parser. The new version
fixes a hang in some cases of incomplete files and supports a cuepoint
specifying multiple tracks per timecode (the previous code added an
index entry for the track mentioned last only).
2010-01-27 14:26:48 +02:00
Uoti Urpala f90e9a86d1 demux_mkv: support reading all headers based on SeekHead
Restructure the code reading toplevel header elements and rewrite the
SeekHead parsing code using the new EBML parser. Now every type of
header element is read anywhere in the file if there's a SeekHead
entry pointing to it. The new SeekHead parsing code has more
diagnostic output in case of errors.
2010-01-27 14:26:48 +02:00
Uoti Urpala 8b0726b28a demux_mkv: use new EBML parser for file header 2010-01-27 14:26:48 +02:00
Uoti Urpala 5f631d1c08 matroska: add new parsing code
Add a new EBML parser implementation that should allow significant
improvements to the Matroska demuxer. The new parsing code is not
actually used yet by the demuxer. The only changes to existing code in
this commit are to generate the MATROSKA_ID_* / EBML_ID_* macro
definitions from the new implementation and to rename some of them
(the new implementation uses names matching the official Matroska spec).

The main parser implementation is added in ebml.c. There are two new
generated files, ebml_defs.c and ebml_types.h, that contain
definitions of EBML elements. Those are generated by the new script
TOOLS/matroska.py. There's a new Makefile target "generated_ebml" that
run the script to refresh the content of the generated files.
2010-01-27 14:26:43 +02:00
reimar cc95355a0a Remove ds_fill_buffer calls from demux_resync, they cause issues at least with
the ASF demuxer (seek seems to end up right after the keyframe?) and seem to have
no purpose anyway.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30438 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-26 21:08:01 +00:00
reimar b1f3c590c7 Enable parsing for ASF audio streams.
This is necessary to use the ffmp2 decoder with dvr-ms files.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30437 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-26 18:19:57 +00:00
Uoti Urpala 4ebf007580 Merge svn changes up to r30375 2010-01-25 15:36:38 +02:00
Uoti Urpala ff2df2ac54 Merge svn changes up to r30322 2010-01-25 15:17:50 +02:00
Uoti Urpala 69fe2522f8 Merge svn changes up to r30301 2010-01-25 15:07:30 +02:00
Uoti Urpala 47a04d40f3 Merge svn changes up to r30250 2010-01-25 14:34:56 +02:00
reimar 2e50d88ab2 If audio was identified as DTS in the PMT do not override that with TrueHD
based only on substream id.
Works with all available DTS and TrueHD samples available (2 each).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30429 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-24 20:54:17 +00:00
reimar b8b5fe5570 Add support for parsing MLP and TrueHD.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30427 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-24 20:05:28 +00:00
reimar 632a899a22 Add forgotten declaration of ds_clear_parser.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30424 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-24 17:05:53 +00:00
reimar 644f2b33ec Remove now unused variables.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30423 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-24 16:38:46 +00:00
reimar 573a57de1c Reset the parser on seek. Should fix some cases of audio "blips" after seeking.
AC3 is still broken due to the libavcodec parser being broken.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30421 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-24 15:19:14 +00:00
reimar 71dcc053fe Move the resync-related code into more consistent places instead of having it
scattered all over the place with half of it forgotten in some places.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30420 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-24 15:16:39 +00:00