У меня очень странная проблема, и, поскольку я не могу отправить код, я постараюсь объяснить.
Это больше похоже на философскую проблему - надеюсь, у кого-то есть время / знания, чтобы подумать над этим.
1) У меня есть project.cpp, который выглядит примерно так:
#include <pthread.h>
#include <unistd.h>
pthread_t pplayer_thread;
void *play(void*);
int main(int argc, char **argv) {
pthread_create(&pplayer_thread, NULL, play_cb, NULL);
usleep(5000000);
return 0;
}
2) pplayer.cpp выглядит примерно так:
...
void *play_cb(void *arg) {
// this starts movie using gstreamer and exits thread
}
...
3) not_exehibited _from_main.cpp выглядит примерно так:
...
extern MyClass *myObj; // this is included from .h file
...
MyClass *myObj = NULL;
...
some_function() {
...
myObj = MyClass::createNew(args);
...
}
...
Все это связано с различными другими библиотеками и кучей мусора, но в основном это то, что важно.
-> Проблема :
Когда я запускаю это, я должен увидеть окно, в котором проигрывается фрагмент ролика с использованием gstreamer в течение 5 секунд -> НО я слышу только звук!
-> Странная вещь :
Когда я комментирую строку:
myObj = MyClass::createNew(args);
и снова запускаю -> я также вижу окно gstreamer (все в порядке)
-> Примечания :
это может иметь какое-то отношение к:
-> Я еще раз спрашиваю :
Как небольшое изменение в коде, который никогда не выполняется, может разница?
(помогите пожалуйста)