diff options
Diffstat (limited to 'src/libvdpau/nal.c')
-rw-r--r-- | src/libvdpau/nal.c | 9 |
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)); } |