| 5430 | } |
| 5431 | |
| 5432 | static void find_ffmpeg_fallback_audio(hb_title_t *title) |
| 5433 | { |
| 5434 | int count = hb_list_count(title->list_audio); |
| 5435 | int ii, jj, kk; |
| 5436 | |
| 5437 | for (ii = 0; ii < count; ii++) |
| 5438 | { |
| 5439 | hb_audio_t *audio_ii = hb_list_item(title->list_audio, ii); |
| 5440 | |
| 5441 | if (audio_ii->config.list_linked_index != NULL) |
| 5442 | { |
| 5443 | hb_list_t * list_linked_index = audio_ii->config.list_linked_index; |
| 5444 | hb_list_t * new_list_linked_index = hb_list_init(); |
| 5445 | int linked_count = hb_list_count(list_linked_index); |
| 5446 | |
| 5447 | for (jj = 0; jj < linked_count; jj++) |
| 5448 | { |
| 5449 | int linked_index = *(int*)hb_list_item(list_linked_index, jj); |
| 5450 | for (kk = 0; kk < count; kk++) |
| 5451 | { |
| 5452 | hb_audio_t *audio_kk = hb_list_item(title->list_audio, kk); |
| 5453 | if (linked_index == audio_kk->id && kk != ii) |
| 5454 | { |
| 5455 | hb_list_add_dup(new_list_linked_index, &kk, sizeof(kk)); |
| 5456 | add_ffmpeg_linked_audio(audio_kk, ii, list_linked_index); |
| 5457 | break; |
| 5458 | } |
| 5459 | } |
| 5460 | } |
| 5461 | int * item; |
| 5462 | while ((item = hb_list_item(list_linked_index, 0))) |
| 5463 | { |
| 5464 | hb_list_rem(list_linked_index, item); |
| 5465 | free(item); |
| 5466 | } |
| 5467 | hb_list_close(&audio_ii->config.list_linked_index); |
| 5468 | if (hb_list_count(new_list_linked_index) > 0) |
| 5469 | { |
| 5470 | audio_ii->config.list_linked_index = new_list_linked_index; |
| 5471 | } |
| 5472 | else |
| 5473 | { |
| 5474 | hb_list_close(&new_list_linked_index); |
| 5475 | } |
| 5476 | } |
| 5477 | } |
| 5478 | } |
| 5479 | |
| 5480 | static void add_ffmpeg_audio(hb_title_t *title, hb_stream_t *stream, int id) |
| 5481 | { |
no test coverage detected