История изменений
Исправление wolverin, (текущая версия) :
) не, конеш уже страдаю амнезией, но к счастью не в этом случае.
да тьма потоков у меня, одни генерируют другие, а те следующие, как сам так и в библиотеке ffmpeg, но в данном случае все верно - семафором я обошелся, передаю его заблокированный из основного потока на С++ в поток Си кода и там в нужной «середине» кода отпускаю, а из основного потока по ходу работы без блокировки проверяю отпустило семафор или нет, вот тут и оказалось что где то на 500-600 мс раньше основной поток выходит на место, где уже точно надо знать, хотя бы часть кода в дополнительном завершилась или нет (если раньше захватить семафор удалось, значит там упало в ошибку и надо завершаться), но вобщем то это не проблема, есть что сюда в основной поток насыпать полезной нагрузки по инициализации, чтобы не было холостого хода.
Исправление wolverin, :
) не, конеш уже страдаю амнезией, но к счастью не в этом случае.
да тьма потоков у меня, одни генерируют другие, как сам так и библиотека ffmpeg, но в данном случае все верно - семафором я обошелся, передаю его заблокированный из основного потока на С++ в поток Си кода и там в нужной «середине» кода отпускаю, а из основного потока по ходу работы без блокировки проверяю отпустило семафор или нет, вот тут и оказалось что где то на 500-600 мс раньше основной поток выходит на место, где уже точно надо знать, хотя бы часть кода в дополнительном завершилась или нет (если раньше захватить семафор удалось, значит там упало в ошибку и надо завершаться), но вобщем то это не проблема, есть что сюда в основной поток насыпать полезной нагрузки по инициализации, чтобы не было холостого хода.
Исправление wolverin, :
) не, конеш уже страдаю амнезией, но к счастью не в этом случае.
да тьма потоков у меня, одни генерируют другие, как сам так и библиотека ffmpeg, но в данном случае все верно - семафором я обошелся, передаю его заблокированный из основного потока на С++ в поток Си кода и там в нужной «середине» кода отпускаю, а из основного потока по ходу работы без блокировки проверяю отпустило семафор или нет, вот тут и оказалось что где то на 500-600 мс раньше основной поток выходит на место, где уже точно надо знать, хотя бы часть кода в дополнительном завершилась или нет (если раньше захватить семафор удалось, значит там упало в ошибку и надо завершаться), но вобщем то это не проблема, есть что сюда в основной поток насыпать, чтобы не было холостого хода.
Исправление wolverin, :
) не, конеш уже страдаю амнезией, но к счастью не в этом случае.
да тьма потоков у меня, одни генерируют другие, как сам так и библиотека ffmpeg, но в данном случае все верно - семафором я обошелся, передаю его заблокированный из основного потока на С++ в поток Си кода и там в нужной «середине» кода отпускаю, а из основного потока по ходу работы без блокировки проверяю отпустило семафор или нет, вот тут и оказалось что где то на 500-600 мс раньше основной поток выходит на место, где уже точно надо знать, хотя бы часть кода в дополнительном завершилась или нет (если раньше заблочить удалось, значит там упало в ошибку и надо завершаться), но вобщем то это не проблема, есть что сюда в основной поток насыпать, чтобы не было холостого хода.
Исправление wolverin, :
) не, конеш уже страдаю амнезией, но к счастью не в этом случае.
да тьма потоков у меня, одни генерируют другие, как сам так и библиотека ffmpeg, но в данном случае все верно - семафором я обошелся, передаю его заблокированный из основного потока на С++ в поток Си кода и там в нужной «середине» кода отпускаю, а из основного потока по ходу работы без блокировки проверяю отпустило семафор или нет, вот тут и оказалось что где то на 500-600 мс раньше основной поток выходит на место, где уже точно надо знать, хотя бы часть кода в дополнительном завершилась или нет, но вобщем то это не проблема, есть что сюда в основной поток насыпать, чтобы не было холостого хода.
Исходная версия wolverin, :
) не, конеш уже страдаю амнезией, но к счастью не в этом случае. да тьма потоков у меня, одни генерируют другие, как сам так и библиотека ffmpeg, но в данном случае все верно - семафором я обошелся, передаю его заблокированный из основного потока на С++ в поток Си кода и там в нужной «середине» кода отпускаю, а из основного потока по ходу работы без блокировки проверяю отпустило семафор или нет, вот тут и оказалось что где то на 500-600 мс раньше основной поток выходит на место, где уже точно надо знать, хотя бы часть кода в дополнительном завершилась или нет, но вобщем то это не проблема, есть что сюда в основной поток насыпать, чтобы не было холостого хода.