summaryrefslogtreecommitdiffstats
path: root/stream/stream_dvdnav.c
Commit message (Collapse)AuthorAgeFilesLines
* stream_dvdnav: free pointer to priv->filename on closetholin2014-07-041-0/+2
| | | | | | CC: @mpv-player/stable Signed-off-by: wm4 <wm4@nowhere>
* stream_dvdnav: make sure seeking bounds are within rangetholin2014-07-041-1/+5
| | | | | | | | libdvdnav returns an error is the seek position is out of range. CC: @mpv-player/stable Signed-off-by: wm4 <wm4@nowhere>
* stream_dvd, stream_dvdnav: map dvd:// to dvdnavwm42014-06-201-1/+1
| | | | The old stream_dvd.c implementation is still available under dvdread://.
* Add more constwm42014-06-111-5/+5
| | | | | | | While I'm not very fond of "const", it's important for declarations (it decides whether a symbol is emitted in a read-only or read/write section). Fix all these cases, so we have writeable global data only when we really need.
* stream_dvd, stream_dvdnav, stream_bluray: remove global option variableswm42014-06-111-7/+11
|
* stream: remove chaos related to writeable streamswm42014-05-241-1/+1
| | | | | | | | | | For some reason, we support writeable streams. (Only encoding uses that, and the use of it looks messy enough that I want to replace it with FILE or avio today.) It's a chaos: most streams do not actually check the mode parameter like they should. Simplify it, and let streams signal availability of write mode by setting a flag in the stream info struct.
* stream: don't use end_poswm42014-05-241-1/+0
| | | | | | | | | | | | | | | | | | | Stop using it in most places, and prefer STREAM_CTRL_GET_SIZE. The advantage is that always the correct size will be used. There can be no doubt anymore whether the end_pos value is outdated (as it happens often with files that are being downloaded). Some streams still use end_pos. They don't change size, and it's easier to emulate STREAM_CTRL_GET_SIZE using end_pos, instead of adding a STREAM_CTRL_GET_SIZE implementation to these streams. Make sure int64_t is always used for STREAM_CTRL_GET_SIZE (it was uint64_t before). Remove the seek flags mess, and replace them with a seekable flag. Every stream must set it consistently now, and an assertion in stream.c checks this. Don't distinguish between streams that can only be forward or backwards seeked, since we have no such stream types.
* options: remove deprecated --identifyMartin Herkt2014-05-041-3/+1
| | | | | | | Also remove MSGL_SMODE and friends. Note: The indent in options.rst was added to work around a bug in ReportLab that causes the PDF manual build to fail.
* stream_dvdnav: print more debugging infowm42014-04-171-1/+6
|
* player: rename dvdnav to discnavxylosper2014-03-301-1/+1
| | | | | Now, navigation works both of DVD and non-BD-J Blu-ray. Therefore, rename all 'dvdnav' strings which are not DVD specific to 'discnav'
* dvdnav: make MP_NAV_EVENT_RESET_ALL handled properlyxylosper2014-03-251-30/+37
| | | | | | | | | | | dvdnav.c did not handle event in regular sequence. Usually this does not make any trouble except around MP_NAV_EVENT_RESET_ALL. Those events should be handled in regular sequence. If they're mixed, it can make wrong result. For instance, MP_NAV_EVENT_HIGHLIGHT right after MP_NAV_EVENT_RESET_ALL should not be ignored but it might be because MP_NAV_EVENT_RESET_ALL makes the demuxer reloaded and osd hidden.
* stream: remove old chapter handling codewm42014-03-251-17/+0
| | | | | | | | Stream-level chapters (like DVD etc.) did potentially not have timestamps for each chapter, so STREAM_CTRL_SEEK_TO_CHAPTER and STREAM_CTRL_GET_CURRENT_CHAPTER were needed to navigate chapters. We've switched everything to use timestamps and that seems to work, so we can simplify the code and remove this old mechanism.
* stream_dvd/stream_dvdnav: make disc-title for DVDs start from 0xylosper2014-03-171-10/+18
| | | | | | | | This commit makes 'disc-title' properties for DVDs start from 0. There was an inconsistency around 'disc-title' property between DVDs (from 1) and Blu-rays (from 0). This fixes #648. Signed-off-by: wm4 <wm4@nowhere>
* stream_dvdnav: implement STREAM_CTRL_GET_NUM_TITLES for dvdnavxylosper2014-03-151-0/+7
| | | | | | This commit provides impelmentation of STREAM_CTRL_GET_NUM_TITLES for dvdnav stream. Other streams for DVD or Blu-ray are already provide STREAM_CTRL_GET_NUM_TITLES.
* command: set 'media-title' property for bluray disc with meta-dataxylosper2014-03-131-1/+1
|
* dvd: treat missing volume ID as "unsupported", not errorwm42014-02-231-2/+2
| | | | | This is probably better and more consistent with the rest of the code, although it doesn't change any currently existing behavior in this case.
* dvd: check for empty DVD volume IDwm42014-02-231-1/+3
| | | | | The only DVD sample I have just returns an empty string for this. Let command.c use the filename if the ID is empty.
* command: use DVD volume ID for media-title propertyxylosper2014-02-231-0/+7
| | | | | | Signed-off-by: wm4 <wm4@nowhere> Closes #582.
* stream: mp_msg conversionswm42013-12-211-24/+22
| | | | We also drop some slave mode stuff from stream_vcd.
* Split mpvcore/ into common/, misc/, bstr/wm42013-12-171-1/+1
|
* Move options/config related files from mpvcore/ to options/wm42013-12-171-2/+2
| | | | | | | | | Since m_option.h and options.h are extremely often included, a lot of files have to be changed. Moving path.c/h to options/ is a bit questionable, but since this is mainly about access to config files (which are also handled in options/), it's probably ok.
* Move mpvcore/input/ to input/wm42013-12-171-1/+1
|
* Replace mp_tmsg, mp_dbg -> mp_msg, remove mp_gtext(), remove set_osd_tmsgwm42013-12-161-1/+1
| | | | | | | | | The tmsg stuff was for the internal gettext() based translation system, which nobody ever attempted to use and thus was removed. mp_gtext() and set_osd_tmsg() were also for this. mp_dbg was once enabled in debug mode only, but since we have log level for enabling debug messages, it seems utterly useless.
* dvdnav: select longest title by defaultwm42013-12-141-6/+26
| | | | This way we probably do the right thing, and avoid all the menu shit.
* dvdnav: crappy hack to respect timed still frameswm42013-12-141-18/+10
| | | | | | Before this, they were displayed forever. Since some dvd screens seem not to allow escaping from the still frame using the menu, this could get you stuck forever.
* dvdnav, tv: force-disable cachingwm42013-12-141-3/+1
| | | | | | | | | On dvdnav, caching kind of works but not really. (Not our fault, at least not fully. It's due to libdvdnav being slightly misdesigned; see previous commit for some explanations.) The TV code is implemented in the demuxer, and the stream implementation is just a wrapper, so caching makes no sense here.
* dvdnav: enable cachingwm42013-12-141-2/+1
| | | | | | No idea why this was disabled. It was in the original MPlayer code, which doesn't make much sense to me, because using the MPlayer stream cache seems 100% broken due to design issues.
* stream_dvdnav: drop stream buffers on seekwm42013-12-141-3/+5
|
* dvdnav: remove highlights if no PCI availablewm42013-12-131-1/+3
| | | | | Not sure if this actually can happen. It doesn't remove the problem that mpv sometimes shows highlights on nav screens which have no highlight.
* Add prelimimary (basic, possibly broken) dvdnav supportwm42013-12-121-0/+718
| | | | | | | | | | | | | | | | | | | | | | | | | This readds a more or less completely new dvdnav implementation, though it's based on the code from before commit 41fbcee. Note that this is rather basic, and might be broken or not quite usable in many cases. Most importantly, navigation highlights are not correctly implemented. This would require changes in the FFmpeg dvdsub decoder (to apply a different internal CLUT), so supporting it is not really possible right now. And in fact, I don't think I ever want to support it, because it's a very small gain for a lot of work. Instead, mpv will display fake highlights, which are an approximate bounding box around the real highlights. Some things like mouse input or switching audio/subtitles stream using the dvdnav VM are not supported. Might be quite fragile on transitions: if dvdnav initiates a transition, and doesn't give us enough mpeg data to initialize video playback, the player will just quit. This is added only because some users seem to want it. I don't intend to make mpv a good DVD player, so the very basic minimum will have to do. How about you just convert your DVD to proper video files?
* Remove dvdnav support (DVD menus)wm42012-08-161-1027/+0
| | | | | | | | | | | | | | | | When the internal mplayer MPEG demuxer was removed (commit 1fde09db), the default demuxer when using dvdnav was set to libavformat. Now it turns out that this doesn't work with libavformat. It will terminate playback right after the audio runs out (instead of looping it like the video, or whatever it's supposed to do). I'm not sure what exactly the problem is, but since 1. even mplayer-svn can't handle DVD menus directly (missing highlights), 2. DVD menus are essentially worthless, and 3. I don't directly watch DVDs, don't bother with it and remove it. For basic playback, there's still libdvdread support. Also, use pkg-config for libdvdread, and drop support for in-tree libdvdread. Remove support for in-tree libdvdcss as well.
* commands, dvd, dvdnav, bluray: cleanup sub/audio track language displaymplayer-svn2012-08-031-16/+28
| | | | | | | | | | | | | | | | | | | | | Code cleanup: Use a stream_control instead of global functions to get the language associate with a audio or subtitle stream from the streaming layer. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34736 b3059339-0415-0410-9bf9-f77b7e298cf2 Support showing the stream language with br:// playback. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34737 b3059339-0415-0410-9bf9-f77b7e298cf2 Fix DVDs showing the subtitle language as "unknown" for a long time. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34777 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: reimar Note: heavily modified by wm4 for this fork of mplayer.
* cosmetics: stream_dvdnav.c: Remove pointless ()reimar2011-07-061-9/+9
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33604 b3059339-0415-0410-9bf9-f77b7e298cf2
* Merge branch 'mplayer1_changes'Uoti Urpala2011-05-021-2/+5
|\
| * stream_dvdnav: output ID_DVD_VOLUME_ID also for dvdnav://cehoyos2011-04-131-1/+1
| | | | | | | | | | | | Patch by Mike Castle, dalgoda+mplayer gmail git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33081 b3059339-0415-0410-9bf9-f77b7e298cf2
| * stream_dvdnav: identify: show more title informationcehoyos2011-04-121-0/+3
| | | | | | | | | | | | | | | | | | Add ID_DVD_TITLE_x_CHAPTERS and ID_DVD_CURRENT_TITLE to the output of dvdnav:// -identify. Patch by Mike Castle, dalgoda+mplayer A gmail git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32982 b3059339-0415-0410-9bf9-f77b7e298cf2
| * stream_dvdnav: don't skip last title for dvdnav:// -identifycehoyos2011-04-121-1/+1
| | | | | | | | | | | | Patch by Mike Castle, dalgoda+mplayer gmail git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32944 b3059339-0415-0410-9bf9-f77b7e298cf2
* | options: change -alang and -slang to use string list typeClément Bœsch2011-04-201-10/+6
|/ | | | | | | | | There is no reason to use manual language list splitting when an automatic split function is already available. Some types change from "unsigned char" to "char", but this shouldn't cause issues since [as]lang settings are unlikely to have characters above 127.
* sub/OSD: move some related files to sub/Uoti Urpala2011-01-261-1/+1
|
* stream_dvd[nav]: Add const qualifiers to string argumentsreimar2010-11-021-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31957 b3059339-0415-0410-9bf9-f77b7e298cf2
* options: move -chapter values to option structUoti Urpala2010-04-251-2/+3
| | | | | | | | | | | -chapter can optionally take a range with a start and an end. Add a new option type which supports such values and use that instead of a custom per-option function. This commit also fixes a build configuration bug: before the availability of the -chapter option depended on DVD functionality being enabled in the binary, even though the option works with other sources too.
* Delete things related to old translation systemUoti Urpala2010-03-101-1/+0
| | | | | Remove the help/ subdirectory, configure code to create toplevel help_mp.h, and all the '#include "help_mp.h"' lines from .c files.
* Merge svn changes up to r30663Uoti Urpala2010-03-101-2/+0
|\ | | | | | | | | | | | | Conflicts: gui/cfg.c libmpcodecs/vd_dmo.c mplayer.c
| * Remove pointless '#if 1' preprocessor directives.diego2010-02-191-2/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30654 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30475Uoti Urpala2010-03-091-0/+18
|\|
| * Add license header to all files missing it in the stream subdirectory.diego2010-01-301-0/+18
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30468 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r29962Uoti Urpala2009-11-231-1/+1
|\|
| * Finally rename the STREAM_SEEK define to MP_STREAM_SEEK, there are just too manyreimar2009-11-221-1/+1
| | | | | | | | | | | | | | name clashes, in particular with Windows headers (which define STREAM_SEEK as an enum type). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29962 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r29912Uoti Urpala2009-11-161-53/+35
|\|
| * Set the EOF flag when dvdnav reached the end of the requested title.reimar2009-11-111-2/+6
| | | | | | | | | | | | | | | | Otherwise it would just hang, either at the menu or trying to play the last played frame as a still frame. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29893 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Move dvd_speed and dvd_set_speed to dvd_common and implement -dvd-speedreimar2009-11-101-0/+3
| | | | | | | | | | | | | | support for dvdnav. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29890 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Move arrays used by both dvd and dvdnav to dvd_common.reimar2009-11-101-2/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29889 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove unused extern declarations.reimar2009-11-101-1/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29888 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Share dvd_device extern declaration between dvd and dvdnav.reimar2009-11-101-1/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29887 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove an unused variable.reimar2009-11-101-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29886 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove unused mp_dvdnav_aid_from_audio_num functionreimar2009-11-091-21/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29859 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Fixup the dvdnav <-> sid mapping, dvdnav_spu_stream_to_lang andreimar2009-11-091-9/+13
| | | | | | | | | | | | | | | | dvdnav_get_spu_logical_stream both take the same numbering (i.e. not the ids used in the MPEG-TS). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29858 b3059339-0415-0410-9bf9-f77b7e298cf2
| * dvdnav: print ID_SID_..._LANG, just like dvd://reimar2009-11-051-0/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29832 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Cosmetics: indentation, merge two consecutive ifs.reimar2009-11-051-6/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29831 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Make dvdnav also print info about audio streams with unknown language, just ↵reimar2009-11-051-1/+1
| | | | | | | | | | | | like dvd:// git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29830 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Make the dvdnav stream language information output more similar to the dvd one.reimar2009-11-051-10/+6
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29829 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Change the subtitle numbers in the dvdnav subtitle language info to matchreimar2009-11-051-1/+1
| | | | | | | | | | | | | | the numbers used by MPlayer's OSD and -sid option. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29828 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cosmetics: Remove some pointless parentheses from return calls.diego2009-10-081-3/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29759 b3059339-0415-0410-9bf9-f77b7e298cf2
| * whitespace cosmetics: Remove all trailing whitespace.diego2009-05-131-8/+8
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9