Я создаю приложение GStreamer на основе XULRunner. Для этого был создан компонент XPCOM, который делает некоторые функции GStreamer доступными в XUL-приложении. Однако GStreamer обычно использует цикл сообщений (GMainLoop), который позволяет получать сообщения шины. Поскольку в XULRunner уже есть собственный цикл сообщений, я не могу создать GMainLoop. Поэтому мне нужен другой способ получения этих сообщений. Один из способов — использовать вызов gst_bus_poll. Мне нужно было бы вызывать его часто, чтобы предотвратить переполнение очереди сообщений. Поэтому я думаю, что таймер - правильное решение здесь.
Короче говоря: как мне создать таймер в компоненте XPCOM?