1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-19 05:15:12 +00:00
Commit Graph

31732 Commits

Author SHA1 Message Date
Uoti Urpala
9b94b3fb30 demux_mkv: support switching to/from -nosound
Allow audio stream switching to turn off sound or enable it, and also
include nosound as one of the values cycled through when stepping to
the next audio stream.
2010-05-22 10:38:55 +03:00
Uoti Urpala
fc39d48465 demux_mkv: store streams sequentially in demuxer->[avs]_streams
demux_mkv used the Matroska TrackNumber as the array offset in demuxer
stream lists. The TrackNumber entry stored in the file can be an
arbitrary 64-bit value, and some of the code could try reading from
the arrays with that offset, causing a crash if the file had insane
values. Fill the arrays sequentially instead. Also add some checks to
make the handling of too high stream counts more robust.
2010-05-22 10:26:45 +03:00
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
e2f894852c core: apply audio track options to all ordered chapter files
Options selecting audio track to play (-nosound, -alang, -aid) only
affected the first source file. When you moved to a timeline part that
came from another file the default audio track for that file was used.
Add code to apply the options to all files.
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
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
Uoti Urpala
c67d3dfcfc subreader.c: allow compilation with old FriBiDi 0.10
After fixing the type of the third parameter given to fribidi_log2vis
the code didn't compile with old FriBiDi 0.10 any more. Seems that the
parameter type has changed in FriBiDi and the type expected by current
versions didn't exist in older ones at all. Fix compilation with old
FriBiDi by adding an #if based on FRIBIDI_INTERFACE_VERSION.
2010-05-16 06:11:16 +03:00
Uoti Urpala
a47ef5fed6 ad_pcm: don't rely on demux packets staying valid
Change ad_pcm to copy input packet data into an internal buffer
instead of relying on the packet still existing at the next decode()
call. The extra memcpy could be avoided by improving the demuxer API a
bit but I don't feel like implementing that now. Also add a
ADCTRL_RESYNC_STREAM handler to drop buffered data from previous
stream position.
2010-05-15 06:08:44 +03:00
Uoti Urpala
c1c68a6914 ad_pcm: fix crash at EOF
Fix use of unsigned type where negative values were needed. When
playing a file with multichannel PCM audio the bug could result in the
channel reorder function scrambling memory at the end of playback,
causing a crash.
2010-05-15 05:52:00 +03:00
Uoti Urpala
584b43e9f8 cosmetics: reindent ad_pcm.c 2010-05-15 05:45:02 +03:00
Uoti Urpala
9e02b2db40 vo_vdpau: support queuing an arbitrary number of frames ahead
Make the number of output surfaces allocated by vo_vdpau configurable
and allow queuing multiple future frames with the VDPAU frame timing
functionality. There are two known issues that could be polished in
the future for particularly long queue time cases. First, toplevel
code should possibly wait for the queued changes to finish displaying
in some situations like switching files. Second, the VO can block
waiting for a surface to become available, and in the worst case this
wait can be almost as long as the maximum queuing time (potentially
causing audio underruns). However those issues are not high priority.
2010-05-14 05:55:09 +03:00
Uoti Urpala
c5812d6056 af_lavcac3enc: make the filter work without FFmpeg internals
The only FFmpeg internal symbols required were some constants. Define
them in the file itself instead. Also add some checks and fixes to
make the code more robust and fix a potential memory corruption
problem.
2010-05-14 04:25:49 +03:00
Uoti Urpala
67482de5a7 vo_vdpau: add option for studio level output
Add -vo vdpau suboption "studio" to produce output in RGB range
16-235. Man page description mostly taken from a patch by Lauri
Mylläri (but not code). Also slightly tweak the description of two
other suboptions on the man page.
2010-05-12 03:55:32 +03:00
Uoti Urpala
0ae292fbcb vdpau: drop support for old versions
Since I dropped the hack to support older libvdpau versions (without
MPEG4 / hqscaling features) from the FFmpeg version used in the build
repo it's better to disable those libvdpau versions in MPlayer
too. Change the configure check to require a newer libvdpau version,
and drop compatibility code in vo_vdpau.c.
2010-05-11 04:07:31 +03:00
Uoti Urpala
b26d8828d4 subreader: remove pointless message
The code printed a pointless "dvdsublang..." message at MSGL_INFO
level. Remove that. Add instead a MSGL_DBG2 message showing tested
files and their priorities.
2010-05-08 22:43:36 +03:00
Uoti Urpala
33efcaf157 subreader.c: fix fribidi variable type
Use FriBidiParType instead of FriBidiCharType for a variable used as
the third argument of fribidi_log2vis().
2010-05-08 22:15:32 +03:00
Uoti Urpala
dc1a1b8d9f mplayer.c: remove an unnecessary #include 2010-05-08 02:35:46 +03:00
Uoti Urpala
e3103ea06f intreadwrite.h: disable optimizations
Disable arch/compiler specific optimizations in the MPlayer version of
intreadwrite.h. All the uses in MPlayer should be irrelevant for
performance.
2010-05-08 02:32:45 +03:00
Uoti Urpala
5266b5de98 vd_ffmpeg: remove #ifdef for old FFmpeg-mt versions
The #ifdef is obsolete since trying to compile against the relevant
old versions will fail for other reasons.
2010-05-07 22:15:19 +03:00
Uoti Urpala
e1cd86076f Merge svn changes up to r31141 2010-05-07 22:13:35 +03:00
Uoti Urpala
4c6e3ac01b Merge svn change r31134
Fix some search/replace errors introduced in the svn commit.
2010-05-07 22:03:48 +03:00
diego
1292c8adc3 Remove references to some long-removed files.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31141 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-07 18:27:46 +00:00
diego
5c7c77603f Remove seemingly misplaced and commented-out liba52 #include.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31140 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-07 18:24:41 +00:00
Uoti Urpala
eee666c3b5 Merge svn changes up to r31133 2010-05-07 21:19:53 +03:00
Uoti Urpala
17dce6e0c8 Skip svn change r31105 2010-05-07 21:03:03 +03:00
Uoti Urpala
033e479bec Merge svn changes up to r31104 2010-05-07 21:02:42 +03:00
Uoti Urpala
70a2ded653 Skip svn changes up to r31102
Fix already done in git and FFmpeg build stuff.
2010-05-07 20:59:50 +03:00
Uoti Urpala
a817e69131 Merge svn changes up to r31100 2010-05-07 20:59:01 +03:00
cehoyos
02641f54ee Add support for 12-bit color mode on framebuffer devices.
Patch Janusz Krzysztofik, jkrzyszt A tis icnet pl 


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31139 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-06 10:18:25 +00:00
cehoyos
84de3e95a8 Fix compilation with old libschroedinger-dev installed.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31138 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-06 10:10:34 +00:00
Uoti Urpala
fa47d009b4 vo_vdpau.c cosmetics: add WRAP_ADD macro
The macro is meant to simplify the handling of some code dealing with
circular buffers.
2010-05-06 05:38:46 +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
diego
0c3298d039 Remove translated strings that are gone from the master translation.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31136 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-04 11:46:50 +00:00
diego
68f481d741 alternative LGPL-licensed, MMX-optimized YUV to RGB conversion routines
written by Kostya Shishkov


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31135 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-04 09:11:01 +00:00
Uoti Urpala
bc767c2a98 vd_ffmpeg: use skip_frame instead of deprecated hurry_up field 2010-05-04 04:50:57 +03:00
diego
a535f7bfca the great MPlayer tab removal: part II
some extra indentation fixes are put in as a bonus


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31134 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-03 23:34:38 +00:00
diego
bcdf7c0b3d Put symlinks under revision control instead of generating them during make.
This simplifies the build system and should have no practical disadvantage.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31133 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-03 23:00:58 +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
fa6239aea0 Also print OpenGL renderer string with vendor and version with -v
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31127 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-01 22:49:05 +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
reimar
aca523bf78 Revert accidental change to default CFLAGS.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31109 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-04-30 21:18:17 +00:00