diff options
-rw-r--r-- | libhb/common.c | 9 | ||||
-rw-r--r-- | test/test.c | 7 |
2 files changed, 13 insertions, 3 deletions
diff --git a/libhb/common.c b/libhb/common.c index c8cc8dddc..f0ad9e4a2 100644 --- a/libhb/common.c +++ b/libhb/common.c @@ -667,8 +667,13 @@ void hb_filter_close( hb_filter_object_t ** _f ) *********************************************************************/ hb_audio_t *hb_audio_copy(const hb_audio_t *src) { - hb_audio_t *audio = calloc(1, sizeof(*audio)); - memcpy(audio, src, sizeof(*audio)); + hb_audio_t *audio = NULL; + + if( src ) + { + audio = calloc(1, sizeof(*audio)); + memcpy(audio, src, sizeof(*audio)); + } return audio; } diff --git a/test/test.c b/test/test.c index 3fd9d0e62..01cd715f8 100644 --- a/test/test.c +++ b/test/test.c @@ -965,7 +965,12 @@ static int HandleEvents( hb_handle_t * h ) } else { - hb_audio_add( job, audio ); + if( hb_audio_add( job, audio ) == 0 ) + { + fprintf(stderr, "ERROR: Invalid audio input track '%u', skipping.\n", + audio->in.track + 1 ); + num_audio_tracks--; + } } hb_list_rem(audios, audio); if( audio != NULL) |