* Close Audio *********************************************************************** * **********************************************************************/
| 2997 | * |
| 2998 | **********************************************************************/ |
| 2999 | static void syncAudioClose( hb_work_object_t * w ) |
| 3000 | { |
| 3001 | hb_work_private_t * pv = w->private_data; |
| 3002 | |
| 3003 | if (pv == NULL) |
| 3004 | { |
| 3005 | return; |
| 3006 | } |
| 3007 | |
| 3008 | // Free samplerate conversion context |
| 3009 | if (pv->stream->audio.resample) |
| 3010 | { |
| 3011 | hb_audio_resample_free(pv->stream->audio.resample); |
| 3012 | } |
| 3013 | |
| 3014 | sync_delta_t * delta; |
| 3015 | while ((delta = hb_list_item(pv->stream->delta_list, 0)) != NULL) |
| 3016 | { |
| 3017 | hb_list_rem(pv->stream->delta_list, delta); |
| 3018 | free(delta); |
| 3019 | } |
| 3020 | hb_list_close(&pv->stream->delta_list); |
| 3021 | hb_list_empty(&pv->stream->in_queue); |
| 3022 | hb_list_empty(&pv->stream->scr_delay_queue); |
| 3023 | free(pv); |
| 3024 | w->private_data = NULL; |
| 3025 | } |
| 3026 | |
| 3027 | static int syncAudioInit( hb_work_object_t * w, hb_job_t * job) |
| 3028 | { |
nothing calls this directly
no test coverage detected