Re: [Live-devel] Is it valid to call startPlaying on a MediaSink AFTER TaskScheduler->doEventLoop()?

2016-06-27 Thread Ben Rush
Awesome, so just to be clear, calling something like this: const unsigned maxCNAMElen = 100; unsigned char CNAME[maxCNAMElen + 1]; gethostname((char*)CNAME, maxCNAMElen); CNAME[maxCNAMElen] = '\0'; // just in case unsigned int destinationRtcpPortNumber = destinationRtpPortNumber +

Re: [Live-devel] Is it valid to call startPlaying on a MediaSink AFTER TaskScheduler->doEventLoop()?

2016-06-27 Thread Ross Finlayson
Yes, you can call any of these functions while you’re in the event loop. In fact, there’s no reason in principle why your “main()” function can’t just be nothing but a call to “doEventLoop()” - so that everything gets called from event handlers. (In practice, however, “main()” needs to do some

[Live-devel] Is it valid to call startPlaying on a MediaSink AFTER TaskScheduler->doEventLoop()?

2016-06-27 Thread Ben Rush
I hope I'm not asking too many questions on this group. I *am* searching through the archives, but I'm not always finding the answers I need. Anyway, standard setup: _taskScheduler = BasicTaskScheduler::createNew(); _usageEnvironment = BasicUsageEnvironment::createNew(*_taskScheduler); .

Re: [Live-devel] Strange crashing "bug" (maybe?)

2016-06-27 Thread Ross Finlayson
Yes, one needs to be very careful when declaring “Groupsock” objects on the stack. You can’t allow any pointers to them to outlive the “Groupsock” objects themselves. (In retrospect, I probably should not have made it possible to declare these objects on the stack - as I did with the “Medium”

Re: [Live-devel] Strange crashing "bug" (maybe?)

2016-06-27 Thread Ben Rush
Resolved. This is NOT a bug with Live555 but simply a misunderstanding of how to use the Groupsocks. This is MY fault, NOT the Live555 code. I should change the InitializeRoomClientAudioChannel method to use Groupsock2 pointers instead of passing the address from the stack-based ones. These addres