diff options
author | Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> | 2012-06-07 15:06:34 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-06-26 12:40:31 +0200 |
commit | 9332155a414d28be6716365530e96c5a3a11dcb7 (patch) | |
tree | d98990694129d3fc47a516ab1639f694d35699d2 /ext | |
parent | 1fb1eaf5d64f80362a523218f57d89b29b24784e (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
Diffstat (limited to 'ext')
-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 9b4f6d120..38f419ccd 100644 --- a/ext/resindvd/resindvdsrc.c +++ b/ext/resindvd/resindvdsrc.c @@ -472,6 +472,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)); @@ -1908,7 +1914,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; |