⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queue.h

📁 DawnLightPlayer,一个新的基于ffmpeg的全功能播放器
💻 H
字号:
/********************************************** * Dawn Light Player * *  queue.h * * Created by kf701 * Mon Feb 25 17:05:41 CST 2008 * * $Id: queue.h 168 2008-03-21 02:50:01Z kf701 $ **********************************************/#ifndef _DLP_QUEUE_H_#define _DLP_QUEUE_H_#include "my_pthread.h"#ifndef MAX#define MAX(a,b) ((a)>(b)?(a):(b))#define MIN(a,b) ((a)>(b)?(b):(a))#endif#ifndef CLAMP#define CLAMP(x, low, high)  (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x)))#endif#define POINTER_TO_UINT(p)  ((unsigned int)(p))#if defined (__GNUC__)#define likely(x)	__builtin_expect(!!(x), 1)#define unlikely(x)	__builtin_expect(!!(x), 0)#else#define likely(x)	(x)#define unlikely(x)	(x)#endiftypedef struct _node_{	void *data;	int size;	struct _node_ *next;	struct _node_ *prev;} _node_t;typedef struct{	_node_t *head;	_node_t *tail;	uint32_t length;	pthread_mutex_t mutex;	pthread_cond_t cond;} queue_t;queue_t *dlp_queue_new(void);typedef void (*free_func) (void*) ;void dlp_queue_free(queue_t *qu, free_func func);void dlp_queue_flush(queue_t *qu, free_func func);int dlp_wait_on_queue(queue_t *qu);int dlp_wait_on_queue_timeout(queue_t *qu, int timeout);uint32_t dlp_queue_length(queue_t *qu);void dlp_queue_push_head(queue_t *qu, void *data);void dlp_queue_push_tail(queue_t *qu, void *data);void dlp_queue_push_nth(queue_t *qu, void *data, uint32_t n);void *dlp_queue_pop_head(queue_t *qu);void *dlp_queue_pop_tail(queue_t *qu);void *dlp_queue_pop_nth(queue_t *qu, uint32_t n);void *dlp_queue_peek_head(queue_t *qu);void *dlp_queue_peek_tail(queue_t *qu);void *dlp_queue_peek_nth(queue_t *qu, uint32_t n);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -