snprintf(buf, sizeof(buf), "DVR: %s", de->de_title);
- streaming_queue_init(&de->de_sq);
+ streaming_queue_init(&de->de_sq, 0);
pthread_create(&de->de_thread, NULL, dvr_thread, de);
pthread_mutex_lock(&global_lock);
- streaming_queue_init(&sq);
+ streaming_queue_init(&sq, 0);
while(1) {
*
*/
void
-streaming_queue_init(streaming_queue_t *sq)
+streaming_queue_init(streaming_queue_t *sq, int reject_filter)
{
- streaming_target_init(&sq->sq_st, streaming_queue_deliver, sq, 0);
+ streaming_target_init(&sq->sq_st, streaming_queue_deliver, sq, reject_filter);
pthread_mutex_init(&sq->sq_mutex, NULL);
pthread_cond_init(&sq->sq_cond, NULL);
}
+/**
+ *
+ */
+void
+streaming_queue_deinit(streaming_queue_t *sq)
+{
+ streaming_queue_clear(&sq->sq_queue);
+ pthread_mutex_destroy(&sq->sq_mutex);
+ pthread_cond_destroy(&sq->sq_cond);
+}
+
+
/**
*
*/
st_callback_t *cb, void *opaque,
int reject_filter);
-void streaming_queue_init(streaming_queue_t *sq);
+void streaming_queue_init(streaming_queue_t *sq, int reject_filter);
void streaming_queue_clear(struct streaming_message_queue *q);
+void streaming_queue_deinit(streaming_queue_t *sq);
+
void streaming_target_connect(streaming_pad_t *sp, streaming_target_t *st);
void streaming_target_disconnect(streaming_pad_t *sp, streaming_target_t *st);