media_close(h); media_uri_free(uri); media_provider_shutdown(); return 0; } A custom provider needs only four functions:
// ... event loop ...
media_set_data_callback(h, on_data, NULL); media_stream_start(h); libmediaprovider-1.0