[MPlayer-users] DVDNAV question

Kevin DeKorte kdekorte at gmail.com
Thu Apr 9 15:38:25 CEST 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 04/09/2009 07:28 AM, Nico Sabbi wrote:
> On Thursday 09 April 2009 15:13:17 Kevin DeKorte wrote:
>> On 04/09/2009 05:46 AM, Dominik 'Rathann' Mierzejewski wrote:
>>> On Thursday, 09 April 2009 at 01:01, Kevin DeKorte wrote:
>>>> On 04/08/2009 03:57 PM, Nico Sabbi wrote:
>>>>> Il giorno mar, 07/04/2009 alle 10.33 -0600, Kevin DeKorte ha 
> scritto:
>>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>>> Hash: SHA1
>>>>>>
>>>>>> Is there a way via the slave interface to determine if the
>>>>>> current DVDNAV track is a DVD menu or not?
>>>>>>
>>>>>> What I would like to do is be able to use the arrow keys in
>>>>>> the menu, but once a non-menu track is selected to be able to
>>>>>> use the arrow keys to advance the media
>>>>>>
>>>>>> Kevin
>>>>> there is some dvdnav_is() function to use for the purpose, but
>>>>> it's not used in mplayer
>>>> Nico,
>>>>
>>>> Would you accept this patch or something similar?
>>> No, libdvdnav is supposed to be independent of MPlayer. It's a
>>> standalone library used in other projects too. Also, a library
>>> shouldn't have any printf calls.
>>>
>>> Regards,
>>> R.
>> How about this then..
>>
>> Index: stream/stream_dvdnav.c
>> ===================================================================
>> --- stream/stream_dvdnav.c	(revision 29151)
>> +++ stream/stream_dvdnav.c	(working copy)
>> @@ -74,6 +74,7 @@
>>  };
>>
>>  static int seek(stream_t *s, off_t newpos);
>> +static void show_audio_subs_languages(dvdnav_t *nav);
>>
>>  static dvdnav_priv_t * new_dvdnav_stream(char * filename) {
>>    const char * title_str;
>> @@ -205,10 +206,13 @@
>>          if(ev->pgc_length)
>>            priv->duration = ev->pgc_length/90;
>>
>> -        if (dvdnav_is_domain_vts(priv->dvdnav))
>> +        if (dvdnav_is_domain_vts(priv->dvdnav)) {
>> +          mp_msg(MSGT_IDENTIFY, MSGL_INFO,
>> "DVDNAV_TITLE_IS_MOVIE\n"); priv->state &= ~NAV_FLAG_VTS_DOMAIN;
>> -        else
>> +        } else {
>> +          mp_msg(MSGT_IDENTIFY, MSGL_INFO,
>> "DVDNAV_TITLE_IS_MENU\n"); priv->state |= NAV_FLAG_VTS_DOMAIN;
>> +        }
>>
>>          nextstill = dvdnav_get_next_still_flag (priv->dvdnav);
>>          if (nextstill) {
>>
>>
>> Kevin
> 
> it seems to be misplaced: the vts_domain has nothing to do whatsoever 
> with show_audio_subs_languages()

Nico,

Ugh... that patch got cut and pasted wrong.. I have another patch that
you have approved, but never got merged in sitting in that same file.

Index: stream/stream_dvdnav.c
===================================================================
- --- stream/stream_dvdnav.c	(revision 29151)
+++ stream/stream_dvdnav.c	(working copy)
@@ -205,10 +206,13 @@
         if(ev->pgc_length)
           priv->duration = ev->pgc_length/90;

- -        if (dvdnav_is_domain_vts(priv->dvdnav))
+        if (dvdnav_is_domain_vts(priv->dvdnav)) {
+          mp_msg(MSGT_IDENTIFY, MSGL_INFO, "DVDNAV_TITLE_IS_MOVIE\n");
           priv->state &= ~NAV_FLAG_VTS_DOMAIN;
- -        else
+        } else {
+          mp_msg(MSGT_IDENTIFY, MSGL_INFO, "DVDNAV_TITLE_IS_MENU\n");
           priv->state |= NAV_FLAG_VTS_DOMAIN;
+        }

         nextstill = dvdnav_get_next_still_flag (priv->dvdnav);
         if (nextstill) {


Those changes are in in the function dvdnav_stream_read

Kevin

- -- 
Get my public GnuPG key from
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x7D0BD5D1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAknd+lAACgkQ6w2kMH0L1dF7YgCfV4x6y8BlWIHxcmnS1Q6DTFF+
FZkAnj8mlkbhY3lQOEsgLr1k1fMiAzdS
=8Y4p
-----END PGP SIGNATURE-----


More information about the MPlayer-users mailing list