summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demuxer.h
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2011-01-17 15:47:57 +0200
committerUoti Urpala <uau@glyph.nonexistent.invalid>2011-01-17 15:47:57 +0200
commite342a81d6f5d13b83753050af79feab4fd702925 (patch)
tree841aad72180b76546484e1aca14d3b17eee46502 /libmpdemux/demuxer.h
parent0b59e33b4e17fae9e0c318fcfeabba52e57dda4a (diff)
downloadmpv-e342a81d6f5d13b83753050af79feab4fd702925.tar.bz2
mpv-e342a81d6f5d13b83753050af79feab4fd702925.tar.xz
cleanup: move demux packet functions from demuxer.h to demuxer.c
There's no reason why the demux packet functions would need to be inlined, so move them from the header to the .c file.
Diffstat (limited to 'libmpdemux/demuxer.h')
-rw-r--r--libmpdemux/demuxer.h65
1 files changed, 4 insertions, 61 deletions
diff --git a/libmpdemux/demuxer.h b/libmpdemux/demuxer.h
index 9b66e27910..3a7a6157c2 100644
--- a/libmpdemux/demuxer.h
+++ b/libmpdemux/demuxer.h
@@ -286,67 +286,10 @@ typedef struct {
int aid, vid, sid; //audio, video and subtitle id
} demux_program_t;
-static inline demux_packet_t* new_demux_packet(int len){
- demux_packet_t* dp=(demux_packet_t*)malloc(sizeof(demux_packet_t));
- dp->len=len;
- dp->next=NULL;
- dp->pts=MP_NOPTS_VALUE;
- dp->endpts=MP_NOPTS_VALUE;
- dp->stream_pts = MP_NOPTS_VALUE;
- dp->pos=0;
- dp->flags=0;
- dp->refcount=1;
- dp->master=NULL;
- dp->buffer=NULL;
- if (len > 0 && (dp->buffer = (unsigned char *)malloc(len + MP_INPUT_BUFFER_PADDING_SIZE)))
- memset(dp->buffer + len, 0, 8);
- else
- dp->len = 0;
- return dp;
-}
-
-static inline void resize_demux_packet(demux_packet_t* dp, int len)
-{
- if(len > 0)
- {
- dp->buffer=(unsigned char *)realloc(dp->buffer,len+8);
- }
- else
- {
- free(dp->buffer);
- dp->buffer=NULL;
- }
- dp->len=len;
- if (dp->buffer)
- memset(dp->buffer + len, 0, 8);
- else
- dp->len = 0;
-}
-
-static inline demux_packet_t* clone_demux_packet(demux_packet_t* pack){
- demux_packet_t* dp=(demux_packet_t*)malloc(sizeof(demux_packet_t));
- while(pack->master) pack=pack->master; // find the master
- memcpy(dp,pack,sizeof(demux_packet_t));
- dp->next=NULL;
- dp->refcount=0;
- dp->master=pack;
- pack->refcount++;
- return dp;
-}
-
-static inline void free_demux_packet(demux_packet_t* dp){
- if (dp->master==NULL){ //dp is a master packet
- dp->refcount--;
- if (dp->refcount==0){
- free(dp->buffer);
- free(dp);
- }
- return;
- }
- // dp is a clone:
- free_demux_packet(dp->master);
- free(dp);
-}
+struct demux_packet *new_demux_packet(int len);
+void resize_demux_packet(struct demux_packet *dp, int len);
+struct demux_packet *clone_demux_packet(struct demux_packet *pack);
+void free_demux_packet(struct demux_packet *dp);
#ifndef SIZE_MAX
#define SIZE_MAX ((size_t)-1)