summaryrefslogtreecommitdiff
path: root/src/libvdpau/nal.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libvdpau/nal.c')
-rw-r--r--src/libvdpau/nal.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libvdpau/nal.c b/src/libvdpau/nal.c
index eaa32c700..541699dbd 100644
--- a/src/libvdpau/nal.c
+++ b/src/libvdpau/nal.c
@@ -66,7 +66,10 @@ void copy_nal_unit(struct nal_unit *dest, struct nal_unit *src)
if(!dest->slc)
dest->slc = malloc(sizeof(struct slice_header));
- xine_fast_memcpy(dest->sps, src->sps, sizeof(struct seq_parameter_set_rbsp));
- xine_fast_memcpy(dest->pps, src->pps, sizeof(struct pic_parameter_set_rbsp));
- xine_fast_memcpy(dest->slc, src->slc, sizeof(struct slice_header));
+ if(src->sps)
+ xine_fast_memcpy(dest->sps, src->sps, sizeof(struct seq_parameter_set_rbsp));
+ if(src->pps)
+ xine_fast_memcpy(dest->pps, src->pps, sizeof(struct pic_parameter_set_rbsp));
+ if(src->slc)
+ xine_fast_memcpy(dest->slc, src->slc, sizeof(struct slice_header));
}