summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>2012-06-07 15:06:34 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2012-06-26 12:40:31 +0200
commit9332155a414d28be6716365530e96c5a3a11dcb7 (patch)
treed98990694129d3fc47a516ab1639f694d35699d2 /ext
parent1fb1eaf5d64f80362a523218f57d89b29b24784e (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.c8
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;