[vlc-devel] [vlc-commits] bluray: Store the meta informations in p_sys

Rafaël Carré funman at videolan.org
Sun Mar 11 04:00:39 CET 2012


Le 2012-03-08 06:25, Hugo Beauzée-Luyssen a écrit :
> vlc | branch: master | Hugo Beauzée-Luyssen <beauze.h at gmail.com> | Thu Mar  8 12:16:33 2012 +0100| [425ee6e926369f3cb02033fbf60b5898ed19fff9] | committer: Jean-Baptiste Kempf
> 
> bluray: Store the meta informations in p_sys
> 
> Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> 
>> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=425ee6e926369f3cb02033fbf60b5898ed19fff9

Seems to be the culprit breaking bluray on windows.

> ---
> 
>  modules/access/bluray.c |   12 ++++++++----
>  1 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/modules/access/bluray.c b/modules/access/bluray.c


>      /* Get titles and chapters */
> +    p_sys->p_meta = bd_get_meta(p_sys->bluray);
> +    if (!p_sys->p_meta)

This error is reached at open.

> +        goto error;
> +

>          case DEMUX_GET_META:
>          {
> -            const struct meta_dl *meta = bd_get_meta(p_sys->bluray);
> -            if(!meta)
> -                return VLC_EGENERIC;
> -

While previously it would only fail to get meta data.

Also perhaps applying this would help in the future:

diff --git a/modules/access/bluray.c b/modules/access/bluray.c
index 5c33b10..b3b2678 100644
--- a/modules/access/bluray.c
+++ b/modules/access/bluray.c
@@ -249,10 +249,13 @@ static int blurayOpen( vlc_object_t *object )

     /* Get titles and chapters */
     p_sys->p_meta = bd_get_meta(p_sys->bluray);
-    if (!p_sys->p_meta)
+    if (!p_sys->p_meta) {
+        msg_Err(p_demux, "Could not get meta");
         goto error;
+    }

     if (blurayInitTitles(p_demux) != VLC_SUCCESS) {
+        msg_Err(p_demux, "Could not init titles");
         goto error;
     }

@@ -264,8 +267,10 @@ static int blurayOpen( vlc_object_t *object )
     p_sys->b_menu = var_InheritBool(p_demux, "bluray-menu");
     if (p_sys->b_menu) {
         p_sys->p_input = demux_GetParentInput(p_demux);
-        if (unlikely(!p_sys->p_input))
+        if (unlikely(!p_sys->p_input)) {
+            msg_Err(p_demux, "Could not find parent input");
             goto error;
+        }

         /* libbluray will start playback from "First-Title" title */
         if (bd_play(p_sys->bluray) == 0) {



More information about the vlc-devel mailing list