1,5 → 1,6 |
|
#include "pixlib3.h" |
#include <libsync.h> |
|
#define BLACK_MAGIC_SOUND |
#define BLACK_MAGIC_VIDEO |
64,11 → 65,12 |
#define ID_VOL_LEVEL 103 |
#define ID_VOL_CTRL 104 |
|
|
typedef struct |
{ |
volatile uint32_t lock; |
mutex_t lock; |
char *buffer; |
volatile uint32_t count; |
int count; |
}astream_t; |
|
typedef struct |
87,7 → 89,7 |
AVPacketList *last_pkt; |
int size; |
int count; |
volatile uint32_t lock; |
mutex_t lock; |
} queue_t; |
|
int put_packet(queue_t *q, AVPacket *pkt); |
94,6 → 96,11 |
int get_packet(queue_t *q, AVPacket *pkt); |
|
|
#define DECODER_THREAD 1 |
#define AUDIO_THREAD 2 |
#define VIDEO_THREAD 4 |
|
extern int threads_running; |
extern astream_t astream; |
extern AVRational video_time_base; |
|
120,13 → 127,7 |
|
int create_thread(int (*proc)(void *param), void *param, int stack_size); |
|
void mutex_lock(volatile uint32_t *val); |
|
static inline void mutex_unlock(volatile uint32_t *val) |
{ |
*val = 0; |
} |
|
static inline void GetNotify(void *event) |
{ |
__asm__ __volatile__ ( |