c - GTK3.0 GUI зависает при использовании "g_spawn_async_with_pipes ()" - PullRequest
0 голосов
/ 23 июля 2011

Я написал очень простой интерфейс для ffmpeg (конвертирование видео:> mp3) в GTK3.0 / C для Linux.Для порождения ffmpeg я использую g_spawn_async_with_pipes().Я думал, что это был правильный способ выполнения таких вещей без зависания графического интерфейса - но это так.Итак - как я могу предотвратить его замерзание - чтобы я мог показывать счетчик?

1 Ответ

0 голосов
/ 02 января 2012

Вам может понадобиться добавить что-то вроде "

    while (gtk_events_pending ()) {
      gtk_main_iteration_do (FALSE);
}

То есть, чтобы GTK мог обрабатывать ожидающие события (например, рисование пользовательского интерфейса). Я полагаю, вы обрабатываете вывод ffmpeg с помощью g_io_add_watch или аналогичный.

...