diff options
author | Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> | 2012-06-07 15:06:34 +0100 |
---|---|---|
committer | Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> | 2012-06-14 15:31:16 +0100 |
commit | 669683856ca4ccba0ad568f82e09e4a2dddbe2ff (patch) | |
tree | 647dce0b71926f33d2ba6a5728af12cbe2a94578 | |
parent | 3566530e971a116d4e22c6fa1853cf697e67deef (diff) |
resindvd: guard against not finding some data on a DVD
May possibly help with a particular DVD.
https://bugzilla.gnome.org/show_bug.cgi?id=673118
-rw-r--r-- | ext/resindvd/resindvdsrc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/resindvd/resindvdsrc.c b/ext/resindvd/resindvdsrc.c index 98473694b..de0876fa0 100644 --- a/ext/resindvd/resindvdsrc.c +++ b/ext/resindvd/resindvdsrc.c @@ -473,6 +473,12 @@ read_vts_info (resinDvdSrc * src) GST_ERROR ("Can't open VMG ifo"); return FALSE; } + if (!src->vmg_file->vts_atrt) { + GST_INFO ("No vts_atrt - odd, but apparently OK"); + g_array_set_size (src->vts_attrs, 0); + src->vts_attrs = NULL; + return TRUE; + } n_vts = src->vmg_file->vts_atrt->nr_of_vtss; memcpy (&src->vmgm_attr, src->vmg_file->vmgi_mat, sizeof (vmgi_mat_t)); @@ -1914,7 +1920,7 @@ rsn_dvdsrc_prepare_streamsinfo_event (resinDvdSrc * src) gboolean have_audio; gboolean have_subp; - if (src->vts_n == 0) { + if (src->vts_n == 0 || src->vts_attrs == NULL) { /* VMGM info */ vts_attr = NULL; v_attr = &src->vmgm_attr.vmgm_video_attr; |