The BMediaEventLooper class provides a control thread that automatically queues received media events and calls the HandleEvent() function you implement to process them as necessary. This takes a lot of the drudgery out of writing nodes:

BMediaEventLooper maintains two queues: one for real-time events, and one for normal events. Events in the real-time queue are handled according to their real time, while events in the other queue are handled based on their performance time. So the values of the time stamps on events in these two queues are handled differently; keep this in mind if you need to peek into the queues yourself.

Implementing a Node (the Easy Way)

Although BMediaEventLooper does take away a lot of the complicated node construction work, there's still work to be done. There are still plenty of hooks you have to implement yourself (which ones, exactly, depend on whether you're a producer or a consumer).

You can study a specific example of how to implement a node using BMediaEventLooper by reading "A BMediaEventLooper Example".

Creative Commons License
Legal Notice
This work is licensed under a Creative Commons Attribution-Non commercial-No Derivative Works 3.0 License.