[Mplayerxp-cvslog] SF.net SVN: mplayerxp:[470] mplayerxp
Brought to you by:
olov
From: <nic...@us...> - 2012-11-28 09:43:48
|
Revision: 470 http://mplayerxp.svn.sourceforge.net/mplayerxp/?rev=470&view=rev Author: nickols_k Date: 2012-11-28 09:43:36 +0000 (Wed, 28 Nov 2012) Log Message: ----------- convert demux_packet_t into class Demux_Packet Modified Paths: -------------- mplayerxp/libmpdemux/demux_aiff.cpp mplayerxp/libmpdemux/demux_asf.cpp mplayerxp/libmpdemux/demux_audio.cpp mplayerxp/libmpdemux/demux_bmp.cpp mplayerxp/libmpdemux/demux_dv.cpp mplayerxp/libmpdemux/demux_film.cpp mplayerxp/libmpdemux/demux_lavf.cpp mplayerxp/libmpdemux/demux_mkv.cpp mplayerxp/libmpdemux/demux_mov.cpp mplayerxp/libmpdemux/demux_mpg.cpp mplayerxp/libmpdemux/demux_mpxp64.cpp mplayerxp/libmpdemux/demux_ogg.cpp mplayerxp/libmpdemux/demux_pva.cpp mplayerxp/libmpdemux/demux_ra.cpp mplayerxp/libmpdemux/demux_rawaudio.cpp mplayerxp/libmpdemux/demux_real.cpp mplayerxp/libmpdemux/demux_ts.cpp mplayerxp/libmpdemux/demux_ty.cpp mplayerxp/libmpdemux/demux_viv.cpp mplayerxp/libmpdemux/demux_vqf.cpp mplayerxp/libmpdemux/demux_y4m.cpp mplayerxp/libmpdemux/demuxer.cpp mplayerxp/libmpdemux/demuxer.h mplayerxp/libmpstream/s_tv.cpp mplayerxp/libvo/x11_system.cpp Modified: mplayerxp/libmpdemux/demux_aiff.cpp =================================================================== --- mplayerxp/libmpdemux/demux_aiff.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_aiff.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -183,18 +183,17 @@ sh_audio_t* sh_audio = reinterpret_cast<sh_audio_t*>(demuxer->audio->sh); int l = sh_audio->wf->nAvgBytesPerSec; off_t spos = stream_tell(demuxer->stream); - demux_packet_t* dp; if(stream_eof(demuxer->stream)) return 0; - dp = new_demux_packet(l); + Demux_Packet* dp = new(zeromem) Demux_Packet(l); dp->pts = spos / (float)(sh_audio->wf->nAvgBytesPerSec); dp->pos = spos; dp->flags = DP_NONKEYFRAME; l=stream_read(demuxer->stream,dp->buffer,l); - resize_demux_packet(dp,l); + dp->resize(l); ds_add_packet(ds,dp); return 1; @@ -219,6 +218,9 @@ static MPXP_Rc aiff_control(const demuxer_t *demuxer,int cmd,any_t*args) { + UNUSED(demuxer); + UNUSED(cmd); + UNUSED(args); return MPXP_Unknown; } Modified: mplayerxp/libmpdemux/demux_asf.cpp =================================================================== --- mplayerxp/libmpdemux/demux_asf.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_asf.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -455,7 +455,7 @@ ds->asf_packet=NULL; } else { // append data to it! - demux_packet_t* dp=ds->asf_packet; + Demux_Packet* dp=ds->asf_packet; if(dp->len!=offs && offs!=-1) MSG_V("warning! fragment.len=%d BUT next fragment offset=%d \n",dp->len,offs); dp->buffer=(unsigned char*)mp_realloc(dp->buffer,dp->len+len); stream_seek(demux->stream,dataoff); @@ -467,21 +467,21 @@ } } // create new packet: - { demux_packet_t* dp; + { if(offs>0){ MSG_V("warning! broken fragment or incomplete seeking, %d bytes missing \n",offs); return 0; } - dp=new_demux_packet(len); + Demux_Packet& dp=*new(zeromem) Demux_Packet(len); stream_seek(demux->stream,dataoff); - len=stream_read(demux->stream,dp->buffer,len); - resize_demux_packet(dp,len); - dp->pts=time*0.001f; - dp->flags=keyframe?DP_KEYFRAME:DP_NONKEYFRAME; - dp->pos=demux->filepos; - ds->asf_packet=dp; + len=stream_read(demux->stream,dp.buffer,len); + dp.resize(len); + dp.pts=time*0.001f; + dp.flags=keyframe?DP_KEYFRAME:DP_NONKEYFRAME; + dp.pos=demux->filepos; + ds->asf_packet=&dp; ds->asf_seq=seq; - MSG_DBG2("ASF: reading %s PTS %u %f %i\n",ds==demux->audio?"audio":"video",time,dp->pts,keyframe); + MSG_DBG2("ASF: reading %s PTS %u %f %i\n",ds==demux->audio?"audio":"video",time,dp.pts,keyframe); // we are ready now. return 1; } @@ -717,6 +717,9 @@ static MPXP_Rc asf_control(const demuxer_t *demuxer,int cmd,any_t*args) { + UNUSED(demuxer); + UNUSED(cmd); + UNUSED(args); return MPXP_Unknown; } Modified: mplayerxp/libmpdemux/demux_audio.cpp =================================================================== --- mplayerxp/libmpdemux/demux_audio.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_audio.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -1438,15 +1438,14 @@ if(len < 0) { stream_skip(s,-3); } else { - demux_packet_t* dp; if(stream_eof(s) || (demux->movi_end && stream_tell(s) >= demux->movi_end) ) return 0; if(len>4) { - dp = new_demux_packet(len); + Demux_Packet* dp = new(zeromem) Demux_Packet(len); memcpy(dp->buffer,hdr,4); len=stream_read(s,dp->buffer + 4,len-4); - resize_demux_packet(dp,len+4); + dp->resize(len+4); priv->last_pts = priv->last_pts < 0 ? 0 : priv->last_pts + len/(float)sh_audio->i_bps; dp->pts = priv->last_pts - (ds_tell_pts(demux->audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps; dp->flags=DP_NONKEYFRAME; @@ -1468,15 +1467,14 @@ if(len < 0) { stream_skip(s,-7); } else { - demux_packet_t* dp; if(stream_eof(s) || (demux->movi_end && stream_tell(s) >= demux->movi_end) ) return 0; if(len>8) { - dp = new_demux_packet(len); + Demux_Packet* dp = new(zeromem) Demux_Packet(len); memcpy(dp->buffer,hdr,8); len=stream_read(s,dp->buffer+8,len-8); - resize_demux_packet(dp,len+8); + dp->resize(len+8); priv->last_pts = priv->last_pts < 0 ? 0 : priv->last_pts + len/(float)sh_audio->i_bps; dp->pts = priv->last_pts - (ds_tell_pts(demux->audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps; dp->flags=DP_NONKEYFRAME; @@ -1498,15 +1496,14 @@ if(len < 0) { stream_skip(s,-15); } else { - demux_packet_t* dp; if(stream_eof(s) || (demux->movi_end && stream_tell(s) >= demux->movi_end) ) return 0; if(len>16) { - dp = new_demux_packet(len); + Demux_Packet* dp = new(zeromem) Demux_Packet(len); memcpy(dp->buffer,hdr,16); len=stream_read(s,dp->buffer+16,len-16); - resize_demux_packet(dp,len+16); + dp->resize(len+16); priv->last_pts = priv->last_pts < 0 ? 0 : priv->last_pts + len/(float)sh_audio->i_bps; dp->pts = priv->last_pts - (ds_tell_pts(demux->audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps; dp->flags=DP_NONKEYFRAME; @@ -1520,9 +1517,9 @@ case RAW_SND_AU: case RAW_WAV : { int l = sh_audio->wf->nAvgBytesPerSec; - demux_packet_t* dp = new_demux_packet(l); + Demux_Packet* dp =new(zeromem) Demux_Packet(l); l=stream_read(s,dp->buffer,l); - resize_demux_packet(dp, l); + dp->resize(l); priv->last_pts = priv->last_pts < 0 ? 0 : priv->last_pts + l/(float)sh_audio->i_bps; dp->pts = priv->last_pts - (ds_tell_pts(demux->audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps; dp->flags=DP_NONKEYFRAME; @@ -1531,9 +1528,9 @@ } case RAW_VOC : { int l = 65536; - demux_packet_t* dp = new_demux_packet(l); + Demux_Packet* dp =new(zeromem) Demux_Packet(l); l=stream_read(s,dp->buffer,l); - resize_demux_packet(dp, l); + dp->resize(l); priv->last_pts = priv->last_pts < 0 ? 0 : priv->last_pts + l/(float)sh_audio->i_bps; dp->pts = priv->last_pts - (ds_tell_pts(demux->audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps; dp->flags=DP_NONKEYFRAME; @@ -1543,14 +1540,13 @@ case RAW_MUSEPACK: { int l; int bit_len; - demux_packet_t* dp; s = demux->stream; sh_audio = reinterpret_cast<sh_audio_t*>(ds->sh); if (s->eof) return 0; bit_len = mpc_get_bits(priv, s, 20); - dp = new_demux_packet((bit_len + 7) / 8); + Demux_Packet* dp=new(zeromem) Demux_Packet((bit_len + 7) / 8); for (l = 0; l < (bit_len / 8); l++) dp->buffer[l] = mpc_get_bits(priv, s, 8); bit_len %= 8; @@ -1776,6 +1772,9 @@ static MPXP_Rc audio_control(const demuxer_t *demuxer,int cmd,any_t*args) { + UNUSED(demuxer); + UNUSED(cmd); + UNUSED(args); return MPXP_Unknown; } Modified: mplayerxp/libmpdemux/demux_bmp.cpp =================================================================== --- mplayerxp/libmpdemux/demux_bmp.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_bmp.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -99,10 +99,9 @@ unsigned npal_colors; int fake_24; uint8_t *dst,*src; - demux_packet_t* dp; npal_colors = img->format->palette ? img->format->palette->ncolors : 0; fake_24 = img->format->BitsPerPixel == 8 && npal_colors > 0; - dp = new_demux_packet(fake_24 ? len*3 : len); + Demux_Packet* dp = new(zeromem) Demux_Packet(fake_24 ? len*3 : len); dst = dp->buffer; src =reinterpret_cast<uint8_t*>(img->pixels); if(fake_24) @@ -302,6 +301,9 @@ static MPXP_Rc bmp_control(const demuxer_t *demuxer,int cmd,any_t*args) { + UNUSED(demuxer); + UNUSED(cmd); + UNUSED(args); return MPXP_Unknown; } Modified: mplayerxp/libmpdemux/demux_dv.cpp =================================================================== --- mplayerxp/libmpdemux/demux_dv.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_dv.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -101,7 +101,6 @@ static int dv_demux(demuxer_t *demuxer, demux_stream_t *ds) { rawdv_frames_t *frames = (rawdv_frames_t *)demuxer->priv; - demux_packet_t* dp_video=NULL; sh_video_t *sh_video = reinterpret_cast<sh_video_t*>(demuxer->video->sh); int bytes_read=0; // fprintf(stderr,"demux_rawdv_fill_buffer() seek to %qu, size: %d\n",frames->current_filepos,frames->frame_size); @@ -110,7 +109,7 @@ // seem to do it, even though it takes a file offset as a parameter stream_seek(demuxer->stream, frames->current_filepos); - dp_video=new_demux_packet(frames->frame_size); + Demux_Packet* dp_video=new(zeromem) Demux_Packet(frames->frame_size); bytes_read=stream_read(demuxer->stream,dp_video->buffer,frames->frame_size); if (bytes_read<frames->frame_size) return 0; @@ -120,7 +119,7 @@ if (demuxer->audio && demuxer->audio->id>=-1) { - demux_packet_t* dp_audio=clone_demux_packet(dp_video); + Demux_Packet* dp_audio=dp_video->clone(); ds_add_packet(demuxer->audio,dp_audio); } ds_add_packet(demuxer->video,dp_video); Modified: mplayerxp/libmpdemux/demux_film.cpp =================================================================== --- mplayerxp/libmpdemux/demux_film.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_film.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -93,7 +93,7 @@ film_data_t *film_data = (film_data_t *)demuxer->priv; film_chunk_t film_chunk; int length_fix_bytes; - demux_packet_t* dp; + Demux_Packet* dp; // see if the end has been reached if (film_data->current_chunk >= film_data->total_chunks) @@ -110,7 +110,7 @@ if (film_chunk.syncinfo1 == 0xFFFFFFFF) { if(demuxer->audio->id>=-1){ // audio not disabled - dp = new_demux_packet(film_chunk.chunk_size); + dp = new(zeromem) Demux_Packet(film_chunk.chunk_size); if (stream_read(demuxer->stream, dp->buffer, film_chunk.chunk_size) != film_chunk.chunk_size) return 0; dp->pts = film_chunk.pts; @@ -146,7 +146,7 @@ length_fix_bytes = 6; // account for the fix bytes when allocating the buffer - dp = new_demux_packet(film_chunk.chunk_size - length_fix_bytes); + dp = new(zeromem) Demux_Packet(film_chunk.chunk_size - length_fix_bytes); // these CVID data chunks have a few extra bytes; skip them if (stream_read(demuxer->stream, dp->buffer, 10) != 10) @@ -438,6 +438,9 @@ static MPXP_Rc film_control(const demuxer_t *demuxer,int cmd,any_t*args) { + UNUSED(demuxer); + UNUSED(cmd); + UNUSED(args); return MPXP_Unknown; } Modified: mplayerxp/libmpdemux/demux_lavf.cpp =================================================================== --- mplayerxp/libmpdemux/demux_lavf.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_lavf.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -404,7 +404,7 @@ UNUSED(dsds); lavf_priv_t *priv= reinterpret_cast<lavf_priv_t*>(demux->priv); AVPacket pkt; - demux_packet_t *dp; + Demux_Packet *dp; demux_stream_t *ds; int id; MSG_DBG2("lavf_demux()\n"); @@ -442,7 +442,7 @@ if(0/*pkt.destruct == av_destruct_packet*/){ //ok kids, dont try this at home :) - dp=(demux_packet_t*)mp_malloc(sizeof(demux_packet_t)); + dp=new(zeromem) Demux_Packet(pkt.size); dp->len=pkt.size; dp->next=NULL; // dp->refcount=1; @@ -450,7 +450,7 @@ dp->buffer=pkt.data; pkt.destruct= NULL; }else{ - dp=new_demux_packet(pkt.size); + dp=new(zeromem) Demux_Packet(pkt.size); memcpy(dp->buffer, pkt.data, pkt.size); av_free_packet(&pkt); } Modified: mplayerxp/libmpdemux/demux_mkv.cpp =================================================================== --- mplayerxp/libmpdemux/demux_mkv.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_mkv.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -534,7 +534,7 @@ in display order (the timecodes, not the frames themselves!). In this case demux packets have to be cached with the help of these variables. */ int reorder_timecodes; - demux_packet_t **cached_dps; + Demux_Packet **cached_dps; int num_cached_dps, num_allocated_dps; float max_pts; @@ -851,8 +851,7 @@ for (k = 0; k < mkv_d->num_tracks; k++) { track = mkv_d->tracks[k]; - for (i = 0; i < track->num_cached_dps; i++) - free_demux_packet (track->cached_dps[i]); + for (i = 0; i < track->num_cached_dps; i++) delete track->cached_dps[i]; delete track->cached_dps; track->cached_dps = NULL; track->num_cached_dps = 0; @@ -2333,7 +2332,7 @@ { mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv; sh_audio_t *sh_a = new_sh_audio_aid(demuxer, track->tnum, aid); - demux_packet_t *dp; + Demux_Packet *dp; if(!sh_a) return 1; mkv_d->audio_tracks[mkv_d->last_aid] = track->tnum; @@ -2622,12 +2621,12 @@ if (size < 4 || ptr[0] != 'f' || ptr[1] != 'L' || ptr[2] != 'a' || ptr[3] != 'C') { - dp = new_demux_packet (4); + dp = new(zeromem) Demux_Packet (4); memcpy (dp->buffer, "fLaC", 4); } else { - dp = new_demux_packet (size); + dp = new(zeromem) Demux_Packet (size); memcpy (dp->buffer, ptr, size); } dp->pts = 0; @@ -3184,7 +3183,7 @@ handle_subtitles(demuxer_t *demuxer, mkv_track_t *track, char *block, int64_t size, uint64_t block_duration, uint64_t timecode) { - demux_packet_t *dp; + Demux_Packet *dp; char *ptr1; int i; @@ -3214,7 +3213,7 @@ sub_data.utf8 = 1; size -= ptr1 - block; - dp = new_demux_packet(size); + dp = new(zeromem) Demux_Packet(size); memcpy(dp->buffer, ptr1, size); dp->pts = timecode / 1000.0f; #if 0 @@ -3284,7 +3283,7 @@ uint32_t size, int block_bref) { mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv; - demux_packet_t *dp; + Demux_Packet *dp; uint32_t timestamp = mkv_d->last_pts * 1000; uint32_t *hdr; uint8_t chunks; @@ -3296,7 +3295,7 @@ chunks = *buffer++; isize = --size - (chunks+1)*8; - dp = new_demux_packet (REALHEADER_SIZE + size); + dp = new(zeromem) Demux_Packet (REALHEADER_SIZE + size); memcpy (dp->buffer + REALHEADER_SIZE, buffer + (chunks+1)*8, isize); #ifdef WORDS_BIGENDIAN p = (uint8_t *)(dp->buffer + REALHEADER_SIZE + isize); @@ -3341,7 +3340,7 @@ int cfs = track->coded_framesize; int w = track->audiopk_size; int spc = track->sub_packet_cnt; - demux_packet_t *dp; + Demux_Packet *dp; int x; if ((track->a_formattag == mmioFOURCC('2', '8', '_', '8')) || @@ -3403,7 +3402,7 @@ // Release all the audio packets for (x = 0; x < sph*w/apk_usize; x++) { - dp = new_demux_packet(apk_usize); + dp = new(zeromem) Demux_Packet(apk_usize); memcpy(dp->buffer, track->audio_buf + x * apk_usize, apk_usize); /* Put timestamp only on packets that correspond to original audio packets in file */ dp->pts = (x * apk_usize % w) ? 0 : track->audio_timestamp[x * apk_usize / w]; @@ -3413,7 +3412,7 @@ } } } else { // Not a codec that require reordering - dp = new_demux_packet (size); + dp = new(zeromem) Demux_Packet (size); memcpy(dp->buffer, buffer, size); if (track->ra_pts == mkv_d->last_pts && !mkv_d->a_skip_to_keyframe) dp->pts = 0; @@ -3494,9 +3493,9 @@ uint32_t size, int block_bref, int block_fref) { mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv; - demux_packet_t *dp; + Demux_Packet *dp; - dp = new_demux_packet (size); + dp = new(zeromem) Demux_Packet (size); memcpy(dp->buffer, buffer, size); dp->pos = demuxer->filepos; dp->pts = mkv_d->last_pts; @@ -3508,9 +3507,9 @@ dp->flags = 0x10; if ((track->num_cached_dps + 1) > track->num_allocated_dps) { - track->cached_dps = (demux_packet_t **) + track->cached_dps = (Demux_Packet **) mp_realloc(track->cached_dps, (track->num_cached_dps + 10) * - sizeof(demux_packet_t *)); + sizeof(Demux_Packet *)); track->num_allocated_dps += 10; } track->cached_dps[track->num_cached_dps] = dp; @@ -3649,12 +3648,11 @@ { int modified; unsigned size = lace_size[i]; - demux_packet_t *dp; + Demux_Packet *dp; uint8_t *buffer; modified = demux_mkv_decode (track, block, &buffer, &size, 1); - if (buffer) - { - dp = new_demux_packet (size); + if (buffer) { + dp = new(zeromem) Demux_Packet (size); memcpy (dp->buffer, buffer, size); if (modified) delete buffer; Modified: mplayerxp/libmpdemux/demux_mov.cpp =================================================================== --- mplayerxp/libmpdemux/demux_mov.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_mov.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -1982,11 +1982,11 @@ } if(trak->pos==0 && trak->stream_header_len>0){ // we have to append the stream header... - demux_packet_t* dp=new_demux_packet(x+trak->stream_header_len); + Demux_Packet* dp=new(zeromem) Demux_Packet(x+trak->stream_header_len); memcpy(dp->buffer,trak->stream_header,trak->stream_header_len); dp->pos=stream_tell(demuxer->stream)-trak->stream_header_len; x=stream_read(demuxer->stream,dp->buffer+trak->stream_header_len,x); - resize_demux_packet(dp,x+trak->stream_header_len); + dp->resize(x+trak->stream_header_len); delete trak->stream_header; trak->stream_header = NULL; trak->stream_header_len = 0; Modified: mplayerxp/libmpdemux/demux_mpg.cpp =================================================================== --- mplayerxp/libmpdemux/demux_mpg.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_mpg.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -395,19 +395,18 @@ } if(pts==MPGPES_BAD_PTS && ds->asf_packet) { - demux_packet_t* dp=ds->asf_packet; + Demux_Packet* dp=ds->asf_packet; dp->buffer=(unsigned char *)mp_realloc(dp->buffer,dp->len+len); stream_read(demux->stream,dp->buffer+dp->len,len); dp->len+=len; } else { - demux_packet_t* dp; sh_video_t *sh; if(ds->asf_packet) ds_add_packet(ds,ds->asf_packet); - dp=new_demux_packet(len); + Demux_Packet* dp=new(zeromem) Demux_Packet(len); len=stream_read(demux->stream,dp->buffer,len); - resize_demux_packet(dp,len); + dp->resize(len); dp->pts=pts/90000.0f; if(ds==demux->video) sh=(sh_video_t *)ds->sh; else sh=NULL; Modified: mplayerxp/libmpdemux/demux_mpxp64.cpp =================================================================== --- mplayerxp/libmpdemux/demux_mpxp64.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_mpxp64.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -575,11 +575,10 @@ } if(ds){ off_t pos=0LL; - demux_packet_t* dp; - dp=new_demux_packet(len); + Demux_Packet* dp=new(zeromem) Demux_Packet(len); if(mp_conf.verbose>1) pos=stream_tell(s); len=stream_read(s,dp->buffer,len); - resize_demux_packet(dp,len); + dp->resize(len); dp->pts=pts; dp->flags=keyframe?DP_KEYFRAME:DP_NONKEYFRAME; dp->pos=demux->filepos; @@ -892,6 +891,9 @@ static MPXP_Rc mpxpav64_control(const demuxer_t *demuxer,int cmd,any_t*args) { + UNUSED(demuxer); + UNUSED(cmd); + UNUSED(args); return MPXP_Unknown; } Modified: mplayerxp/libmpdemux/demux_ogg.cpp =================================================================== --- mplayerxp/libmpdemux/demux_ogg.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_ogg.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -507,7 +507,7 @@ // return 1 if the packet was added, 0 otherwise static int demux_ogg_add_packet(demux_stream_t* ds,ogg_stream_t* os,int id,ogg_packet* pack) { demuxer_t* d = ds->demuxer; - demux_packet_t* dp; + Demux_Packet* dp; unsigned char* data; float pts = 0; int flags = 0; @@ -563,7 +563,7 @@ clear_sub = -1; } /// Send the packet - dp = new_demux_packet(pack->bytes-(data-pack->packet)); + dp = new(zeromem) Demux_Packet(pack->bytes-(data-pack->packet)); memcpy(dp->buffer,data,pack->bytes-(data-pack->packet)); dp->pts = pts; dp->flags = flags?DP_KEYFRAME:DP_NONKEYFRAME; @@ -1166,7 +1166,7 @@ ogg_demuxer_t *ogg_d; stream_t* s; uint32_t hdrsizes[3]; - demux_packet_t *dp; + Demux_Packet *dp; sh_audio_t *sh_audio = reinterpret_cast<sh_audio_t*>(demuxer->audio->sh); int np; unsigned char *p = NULL,*buf; @@ -1221,15 +1221,15 @@ /// Add the header packets in the ogg demuxer audio stream // Initial header - dp = new_demux_packet(hdrsizes[0]); + dp = new(zeromem) Demux_Packet(hdrsizes[0]); memcpy(dp->buffer,((unsigned char*)sh_audio->wf)+22+sizeof(WAVEFORMATEX)+3*sizeof(uint32_t),hdrsizes[0]); ds_add_packet(od->audio,dp); /// Comments - dp = new_demux_packet(hdrsizes[1]); + dp = new(zeromem) Demux_Packet(hdrsizes[1]); memcpy(dp->buffer,((unsigned char*)sh_audio->wf)+22+sizeof(WAVEFORMATEX)+3*sizeof(uint32_t)+hdrsizes[0],hdrsizes[1]); ds_add_packet(od->audio,dp); /// Code book - dp = new_demux_packet(hdrsizes[2]); + dp = new(zeromem) Demux_Packet(hdrsizes[2]); memcpy(dp->buffer,((unsigned char*)sh_audio->wf)+22+sizeof(WAVEFORMATEX)+3*sizeof(uint32_t)+hdrsizes[0]+hdrsizes[1],hdrsizes[2]); ds_add_packet(od->audio,dp); Modified: mplayerxp/libmpdemux/demux_pva.cpp =================================================================== --- mplayerxp/libmpdemux/demux_pva.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_pva.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -185,7 +185,7 @@ static int pva_demux(demuxer_t * demux,demux_stream_t *__ds) { uint8_t done=0; - demux_packet_t * dp; + Demux_Packet * dp; pva_priv_t * priv=reinterpret_cast<pva_priv_t*>(demux->priv); pva_payload_t current_payload; @@ -219,18 +219,15 @@ priv->last_video_pts=current_payload.pts; //MSG_DBG2("demux_pva: Video PTS=%llu , delivered %f\n",current_payload.pts,priv->last_video_pts); } - if(done) - { + if(done) { int l; - dp=new_demux_packet(current_payload.size); + dp=new(zeromem) Demux_Packet(current_payload.size); dp->pts=priv->last_video_pts; dp->flags=DP_NONKEYFRAME; l=stream_read(demux->stream,dp->buffer,current_payload.size); - resize_demux_packet(dp,l); + dp->resize(l); ds_add_packet(demux->video,dp); - } - else - { + } else { //printf("Skipping %u video bytes\n",current_payload.size); stream_skip(demux->stream,current_payload.size); } @@ -251,19 +248,16 @@ priv->last_audio_pts=current_payload.pts; } if(demux->audio->id!=0) done=0; - if(done) - { + if(done) { int l; - dp=new_demux_packet(current_payload.size); + dp=new(zeromem) Demux_Packet(current_payload.size); dp->pts=priv->last_audio_pts; if(current_payload.offset != stream_tell(demux->stream)) stream_seek(demux->stream,current_payload.offset); l=stream_read(demux->stream,dp->buffer,current_payload.size); - resize_demux_packet(dp,l); + dp->resize(l); ds_add_packet(demux->audio,dp); - } - else - { + } else { stream_skip(demux->stream,current_payload.size); } break; @@ -279,7 +273,7 @@ off_t next_offset,pva_payload_start; unsigned char buffer[256]; #ifndef PVA_NEW_PREBYTES_CODE - demux_packet_t * dp; //hack to deliver the preBytes (see PVA doc) + Demux_Packet * dp; //hack to deliver the preBytes (see PVA doc) #endif pva_priv_t * priv=(pva_priv_t *) d->priv; Modified: mplayerxp/libmpdemux/demux_ra.cpp =================================================================== --- mplayerxp/libmpdemux/demux_ra.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_ra.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -67,7 +67,6 @@ demux_stream_t *ds = demuxer->audio; sh_audio_t *sh = reinterpret_cast<sh_audio_t*>(ds->sh); WAVEFORMATEX *wf = sh->wf; - demux_packet_t *dp; if (stream_eof(demuxer->stream)) return 0; @@ -77,9 +76,9 @@ len = wf->nBlockAlign; demuxer->filepos = stream_tell(demuxer->stream); - dp = new_demux_packet(len); + Demux_Packet *dp = new(zeromem) Demux_Packet(len); len=stream_read(demuxer->stream, dp->buffer, len); - resize_demux_packet(dp,len); + dp->resize(len); if(sh->i_bps) { Modified: mplayerxp/libmpdemux/demux_rawaudio.cpp =================================================================== --- mplayerxp/libmpdemux/demux_rawaudio.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_rawaudio.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -79,17 +79,16 @@ sh_audio_t* sh_audio = reinterpret_cast<sh_audio_t*>(demuxer->audio->sh); int l = sh_audio->wf->nAvgBytesPerSec; off_t spos = stream_tell(demuxer->stream); - demux_packet_t* dp; if(stream_eof(demuxer->stream)) return 0; - dp = new_demux_packet(l); + Demux_Packet* dp = new(zeromem) Demux_Packet(l); dp->pts = spos / (float)(sh_audio->wf->nAvgBytesPerSec); dp->pos = spos; dp->flags=DP_NONKEYFRAME; l=stream_read(demuxer->stream,dp->buffer,l); - resize_demux_packet(dp,l); + dp->resize(l); ds_add_packet(ds,dp); return 1; Modified: mplayerxp/libmpdemux/demux_real.cpp =================================================================== --- mplayerxp/libmpdemux/demux_real.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_real.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -405,7 +405,7 @@ int flags; int version; int reserved; - demux_packet_t *dp; + Demux_Packet *dp; while(1){ @@ -504,9 +504,9 @@ sub_packet_lengths[i] = stream_read_word(demuxer->stream); for (i = 0; i < sub_packets; i++) { int l; - demux_packet_t *dp = new_demux_packet(sub_packet_lengths[i]); + Demux_Packet *dp = new(zeromem) Demux_Packet(sub_packet_lengths[i]); l=stream_read(demuxer->stream, dp->buffer, sub_packet_lengths[i]); - resize_demux_packet(dp,l); + dp->resize(l); dp->pts = pts; priv->a_pts = pts; dp->pos = demuxer->filepos; @@ -516,9 +516,9 @@ delete sub_packet_lengths; return 1; } - dp = new_demux_packet(len); + dp = new(zeromem) Demux_Packet(len); len=stream_read(demuxer->stream, dp->buffer, len); - resize_demux_packet(dp,len); + dp->resize(len); if (priv->audio_need_keyframe == 1) { dp->pts = 0; priv->audio_need_keyframe = 0; @@ -556,7 +556,7 @@ // we need a more complicated, 2nd level demuxing, as the video // frames are stored fragmented in the video chunks :( sh_video_t *sh_video = reinterpret_cast<sh_video_t*>(ds->sh); - demux_packet_t *dp; + Demux_Packet *dp; int vpkg_header, vpkg_length, vpkg_offset; int vpkg_seqnum=-1; int vpkg_subseq=0; @@ -697,7 +697,7 @@ } } // create new packet! - dp = new_demux_packet(sizeof(dp_hdr_t)+vpkg_length+8*(1+2*(vpkg_header&0x3F))); + dp = new(zeromem) Demux_Packet(sizeof(dp_hdr_t)+vpkg_length+8*(1+2*(vpkg_header&0x3F))); // the timestamp seems to be in milliseconds dp->pts = 0; // timestamp/1000.0f; //timestamp=0; dp->pos = demuxer->filepos; Modified: mplayerxp/libmpdemux/demux_ts.cpp =================================================================== --- mplayerxp/libmpdemux/demux_ts.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_ts.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -122,7 +122,7 @@ typedef struct { demux_stream_t *ds; - demux_packet_t *pack; + Demux_Packet *pack; int offset, buffer_size; } av_fifo_t; @@ -1510,7 +1510,7 @@ { if((priv->fifo[i].pack != NULL) && (priv->fifo[i].offset != 0)) { - resize_demux_packet(priv->fifo[i].pack, priv->fifo[i].offset); + priv->fifo[i].pack->resize(priv->fifo[i].offset); ds_add_packet(priv->fifo[i].ds, priv->fifo[i].pack); priv->fifo[i].offset = 0; priv->fifo[i].pack = NULL; @@ -2519,14 +2519,14 @@ } -static int fill_packet(demuxer_t *demuxer, demux_stream_t *ds, demux_packet_t **dp, int *dp_offset, TS_stream_info *si) +static int fill_packet(demuxer_t *demuxer, demux_stream_t *ds, Demux_Packet **dp, int *dp_offset, TS_stream_info *si) { int ret = 0; if((*dp != NULL) && (*dp_offset > 0)) { ret = *dp_offset; - resize_demux_packet(*dp, ret); //shrinked to the right size + (*dp)->resize(ret); //shrinked to the right size ds_add_packet(ds, *dp); MSG_DBG2( "ADDED %d bytes to %s fifo, PTS=%f\n", ret, (ds == demuxer->audio ? "audio" : (ds == demuxer->video ? "video" : "sub")), (*dp)->pts); if(si) @@ -2594,7 +2594,7 @@ stream_t *stream = demuxer->stream; unsigned char *p; demux_stream_t *ds = NULL; - demux_packet_t **dp = NULL; + Demux_Packet **dp = NULL; int *dp_offset = 0, *buffer_size = 0; int32_t progid=0, pid_type, bad, ts_error; int junk = 0, rap_flag = 0; @@ -2607,7 +2607,7 @@ { bad = ts_error = 0; ds = (demux_stream_t*) NULL; - dp = (demux_packet_t **) NULL; + dp = (Demux_Packet **) NULL; dp_offset = buffer_size = NULL; rap_flag = 0; mp4_dec = NULL; @@ -2823,7 +2823,7 @@ { if(*buffer_size > MAX_PACK_BYTES) *buffer_size = MAX_PACK_BYTES; - *dp = new_demux_packet(*buffer_size); //es->size + *dp = new(zeromem) Demux_Packet(*buffer_size); //es->size *dp_offset = 0; if(! *dp) { @@ -2844,7 +2844,7 @@ if(*dp_offset + buf_size > *buffer_size) { *buffer_size = *dp_offset + buf_size + TS_FEC_PACKET_SIZE; - resize_demux_packet(*dp, *buffer_size); + (*dp)->resize(*buffer_size); } p = &((*dp)->buffer[*dp_offset]); } @@ -3022,7 +3022,7 @@ { if(priv->fifo[0].pack != NULL) { - free_demux_packet(priv->fifo[0].pack); + delete priv->fifo[0].pack; priv->fifo[0].pack = NULL; } priv->fifo[0].offset = 0; @@ -3032,7 +3032,7 @@ { if(priv->fifo[1].pack != NULL) { - free_demux_packet(priv->fifo[1].pack); + delete priv->fifo[1].pack; priv->fifo[1].pack = NULL; } priv->fifo[1].offset = 0; @@ -3042,7 +3042,7 @@ { if(priv->fifo[2].pack != NULL) { - free_demux_packet(priv->fifo[2].pack); + delete priv->fifo[2].pack; priv->fifo[2].pack = NULL; } priv->fifo[2].offset = 0; Modified: mplayerxp/libmpdemux/demux_ty.cpp =================================================================== --- mplayerxp/libmpdemux/demux_ty.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_ty.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -293,7 +293,7 @@ static void demux_ty_CopyToDemuxPacket( demux_stream_t *ds, unsigned char *buffer, int size, off_t pos, int64_t pts ) { - demux_packet_t *dp = new_demux_packet( size ); + Demux_Packet *dp = new(zeromem) Demux_Packet( size ); memcpy( dp->buffer, buffer, size ); if (pts != -1) dp->pts = pts / 90000.0; Modified: mplayerxp/libmpdemux/demux_viv.cpp =================================================================== --- mplayerxp/libmpdemux/demux_viv.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_viv.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -394,7 +394,7 @@ ds->asf_packet=NULL; } else { // append data to it! - demux_packet_t* dp=ds->asf_packet; + Demux_Packet* dp=ds->asf_packet; dp->buffer=(unsigned char *)mp_realloc(dp->buffer,dp->len+len); //memcpy(dp->buffer+dp->len,data,len); stream_read(demux->stream,dp->buffer+dp->len,len); @@ -406,11 +406,10 @@ } } // create new packet: - { demux_packet_t* dp; - dp=new_demux_packet(len); + Demux_Packet* dp=new(zeromem) Demux_Packet(len); //memcpy(dp->buffer,data,len); len=stream_read(demux->stream,dp->buffer,len); - resize_demux_packet(dp,len); + dp->resize(len); dp->pts=audio_rate?((float)audio_pos/(float)audio_rate):0; dp->flags=DP_NONKEYFRAME; dp->pos=demux->filepos; @@ -418,8 +417,6 @@ ds->asf_seq=seq; // we are ready now. return 1; - } - } static const short h263_format[8][2] = { Modified: mplayerxp/libmpdemux/demux_vqf.cpp =================================================================== --- mplayerxp/libmpdemux/demux_vqf.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_vqf.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -191,18 +191,18 @@ sh_audio_t* sh_audio = reinterpret_cast<sh_audio_t*>(demuxer->audio->sh); int l = sh_audio->wf->nAvgBytesPerSec; off_t spos = stream_tell(demuxer->stream); - demux_packet_t* dp; + Demux_Packet* dp; if(stream_eof(demuxer->stream)) return 0; - dp = new_demux_packet(l); + dp = new(zeromem) Demux_Packet(l); dp->pts = spos / (float)(sh_audio->wf->nAvgBytesPerSec); dp->pos = spos; dp->flags = DP_NONKEYFRAME; l=stream_read(demuxer->stream,dp->buffer,l); - resize_demux_packet(dp,l); + dp->resize(l); ds_add_packet(ds,dp); return 1; Modified: mplayerxp/libmpdemux/demux_y4m.cpp =================================================================== --- mplayerxp/libmpdemux/demux_y4m.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demux_y4m.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -67,7 +67,7 @@ static int y4m_demux(demuxer_t *demux,demux_stream_t *__ds) { UNUSED(__ds); demux_stream_t *ds=demux->video; - demux_packet_t *dp; + Demux_Packet *dp; y4m_priv_t *priv=reinterpret_cast<y4m_priv_t*>(demux->priv); y4m_frame_info_t fi; unsigned char *buf[3]; @@ -77,7 +77,7 @@ size = ((sh_video_t*)ds->sh)->src_w*((sh_video_t*)ds->sh)->src_h; - dp = new_demux_packet(3*size/2); + dp = new(zeromem) Demux_Packet(3*size/2); /* swap U and V components */ buf[0] = dp->buffer; Modified: mplayerxp/libmpdemux/demuxer.cpp =================================================================== --- mplayerxp/libmpdemux/demuxer.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demuxer.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -260,9 +260,46 @@ } } +Demux_Packet::Demux_Packet(unsigned _len) + :pts(0), + pos(0), + flags(0), + next(NULL) +{ + len=_len; + buffer=new unsigned char [len]; +} -void ds_add_packet(demux_stream_t *ds,demux_packet_t* dp){ -// demux_packet_t* dp=new_demux_packet(len); +Demux_Packet::~Demux_Packet(){ + if(buffer) delete buffer; +} + +void Demux_Packet::resize(unsigned newlen) +{ + if(len!=newlen) { + if(newlen) { + buffer=(unsigned char *)mp_realloc(buffer,newlen+8); + memset(buffer+newlen,0,8); + } else { + if(buffer) delete buffer; + buffer=NULL; + } + len=newlen; + } +} + +Demux_Packet* Demux_Packet::clone() const { + Demux_Packet* dp=new Demux_Packet(len); + dp->pts=pts; + dp->pos=pos; + dp->flags=flags; + dp->next=next; + memcpy(dp->buffer,buffer,len); + return dp; +} + +void ds_add_packet(demux_stream_t *ds,Demux_Packet* dp){ +// Demux_Packet* dp=new_demux_packet(len); // stream_read(stream,dp->buffer,len); // dp->pts=pts; //(float)pts/90000.0f; // dp->pos=pos; @@ -289,9 +326,9 @@ } void ds_read_packet(demux_stream_t *ds,stream_t *stream,int len,float pts,off_t pos,int flags){ - demux_packet_t* dp=new_demux_packet(len); + Demux_Packet* dp=new(zeromem) Demux_Packet(len); len=stream_read(stream,dp->buffer,len); - resize_demux_packet(dp,len); + dp->resize(len); dp->pts=pts; //(float)pts/90000.0f; dp->pos=pos; dp->flags=flags; @@ -327,7 +364,7 @@ check_pin("demuxer",ds->pin,DS_PIN); while(1){ if(ds->packs){ - demux_packet_t *p=ds->first; + Demux_Packet *p=ds->first; // copy useful data: ds->buffer=p->buffer; ds->buffer_pos=0; @@ -394,10 +431,10 @@ } void ds_free_packs(demux_stream_t *ds){ - demux_packet_t *dp=ds->first; + Demux_Packet *dp=ds->first; while(dp){ - demux_packet_t *dn=dp->next; - free_demux_packet(dp); + Demux_Packet *dn=dp->next; + delete dp; dp=dn; } if(ds->asf_packet){ @@ -417,15 +454,15 @@ } void ds_free_packs_until_pts(demux_stream_t *ds,float pts){ - demux_packet_t *dp=ds->first; + Demux_Packet *dp=ds->first; unsigned packs,bytes; packs=bytes=0; while(dp){ - demux_packet_t *dn=dp->next; + Demux_Packet *dn=dp->next; if(dp->pts >= pts) break; packs++; bytes+=dp->len; - free_demux_packet(dp); + delete dp; dp=dn; } if(!dp) @@ -455,17 +492,6 @@ ds->pts_bytes=0; } -demux_packet_t* clone_demux_packet(demux_packet_t* pack){ - demux_packet_t* dp=(demux_packet_t*)mp_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; -} - int ds_get_packet(demux_stream_t *ds,unsigned char **start){ while(1){ int len; @@ -727,10 +753,11 @@ unsigned i; if(demuxer->info) { + demuxer_info_t*dinfo = reinterpret_cast<demuxer_info_t*>(demuxer->info); for(i=0;i<INFOT_MAX;i++) - if(((demuxer_info_t *)demuxer->info)->id[i]) - delete ((demuxer_info_t *)demuxer->info)->id[i]; - delete demuxer->info; + if(dinfo->id[i]) + delete dinfo->id[i]; + delete dinfo; } } @@ -794,36 +821,3 @@ return id; } -demux_packet_t* new_demux_packet(int len){ - demux_packet_t* dp=(demux_packet_t*)mp_malloc(sizeof(demux_packet_t)); - dp->len=len; - dp->buffer=(unsigned char *)mp_malloc(len); - dp->next=NULL; - dp->pts=0; - dp->pos=0; - dp->flags=0; - return dp; -} - -void free_demux_packet(demux_packet_t* dp){ - delete dp->buffer; - delete dp; -} - -void resize_demux_packet(demux_packet_t* dp, int len) -{ - if(dp->len!=len) - { - if(len) - { - dp->buffer=(unsigned char *)mp_realloc(dp->buffer,len+8); - memset(dp->buffer+len,0,8); - } - else - { - if(dp->buffer) delete dp->buffer; - dp->buffer=NULL; - } - dp->len=len; - } -} Modified: mplayerxp/libmpdemux/demuxer.h =================================================================== --- mplayerxp/libmpdemux/demuxer.h 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpdemux/demuxer.h 2012-11-28 09:43:36 UTC (rev 470) @@ -53,15 +53,22 @@ DP_KEYFRAME =0x00000001UL }; /** Describes demuxer's packet */ -typedef struct demux_packet_st { - int len; /**< length of packet's data */ - float pts; /**< Presentation Time-Stamp (PTS) of data */ - off_t pos; /**< Position in index (AVI) or file (MPG) */ - unsigned char* buffer; /**< buffer of packet's data */ - int flags; /**< 1 - indicates keyframe, 0 - regular frame */ - struct demux_packet_st* next; /**< pointer to the next packet in chain */ -} demux_packet_t; +class Demux_Packet : public Opaque { + public: + Demux_Packet(unsigned len); + virtual ~Demux_Packet(); + void resize(unsigned newlen); + Demux_Packet* clone() const; + + unsigned len; /**< length of packet's data */ + float pts; /**< Presentation Time-Stamp (PTS) of data */ + off_t pos; /**< Position in index (AVI) or file (MPG) */ + unsigned char* buffer; /**< buffer of packet's data */ + unsigned flags; /**< 1 - indicates keyframe, 0 - regular frame */ + Demux_Packet* next; /**< pointer to the next packet in chain */ +}; + /** Describes interface to stream associated with this demuxer */ enum { DS_PIN=RND_NUMBER1+RND_CHAR1 @@ -84,12 +91,12 @@ /*---------------*/ int packs; /**< number of packets in buffer */ int bytes; /**< total bytes of packets in buffer */ - demux_packet_t* first; /**< read to current buffer from here */ - demux_packet_t* last; /**< append new packets from input stream to here */ - demux_packet_t* current; /**< needed for refcounting of the buffer */ + Demux_Packet* first; /**< read to current buffer from here */ + Demux_Packet* last; /**< append new packets from input stream to here */ + Demux_Packet* current; /**< needed for refcounting of the buffer */ struct demuxer_s* demuxer; /**< parent demuxer structure (stream handler) */ /* ---- asf ----- */ - demux_packet_t* asf_packet; /**< read asf fragments here */ + Demux_Packet* asf_packet; /**< read asf fragments here */ int asf_seq; /**< sequence id associated with asf_packet */ /*---------------*/ any_t* sh; /**< Stream header associated with this stream (@see st_header.h for detail) */ @@ -191,11 +198,6 @@ MPXP_Rc (*control)(const demuxer_t *d,int cmd,any_t*arg); }demuxer_driver_t; -demux_packet_t* new_demux_packet(int len); -void free_demux_packet(demux_packet_t* dp); -void resize_demux_packet(demux_packet_t* dp, int len); - -demux_packet_t* clone_demux_packet(demux_packet_t* pack); demux_stream_t* new_demuxer_stream(struct demuxer_s *demuxer,int id); demuxer_t* new_demuxer(stream_t *stream,int type,int a_id,int v_id,int s_id); void free_demuxer_stream(demux_stream_t *ds); @@ -203,7 +205,7 @@ void free_demuxer(demuxer_t *demuxer); #define FREE_DEMUXER(d) { free_demuxer(d); d=NULL; } -void ds_add_packet(demux_stream_t *ds,demux_packet_t* dp); +void ds_add_packet(demux_stream_t *ds,Demux_Packet* dp); void ds_read_packet(demux_stream_t *ds,stream_t *stream,int len,float pts,off_t pos,int flags); int demux_fill_buffer(demuxer_t *demux,demux_stream_t *ds); Modified: mplayerxp/libmpstream/s_tv.cpp =================================================================== --- mplayerxp/libmpstream/s_tv.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libmpstream/s_tv.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -81,7 +81,7 @@ int __FASTCALL__ demux_tv_fill_buffer(demuxer_t *demux, demux_stream_t *ds, tvi_handle_t *tvh) { - demux_packet_t* dp; + Demux_Packet* dp; u_int len; len = 0; @@ -94,7 +94,7 @@ { len = tvh->functions->get_audio_framesize(reinterpret_cast<priv_s*>(tvh->priv)); - dp=new_demux_packet(len); + dp=new(zeromem) Demux_Packet(len); dp->pts=tvh->functions->grab_audio_frame(reinterpret_cast<priv_s*>(tvh->priv), dp->buffer,len); ds_add_packet(demux->audio,dp); } @@ -105,7 +105,7 @@ TVI_CONTROL_IS_VIDEO, 0) == TVI_CONTROL_TRUE) { len = tvh->functions->get_video_framesize(reinterpret_cast<priv_s*>(tvh->priv)); - dp=new_demux_packet(len); + dp=new(zeromem) Demux_Packet(len); dp->pts=tvh->functions->grab_video_frame(reinterpret_cast<priv_s*>(tvh->priv), dp->buffer, len); ds_add_packet(demux->video,dp); } Modified: mplayerxp/libvo/x11_system.cpp =================================================================== --- mplayerxp/libvo/x11_system.cpp 2012-11-28 08:41:01 UTC (rev 469) +++ mplayerxp/libvo/x11_system.cpp 2012-11-28 09:43:36 UTC (rev 470) @@ -799,9 +799,9 @@ xclient.data.l[3] = 0; xclient.data.l[4] = 0; - XSendEvent (mDisplay, mRootWin, False, - SubstructureRedirectMask | SubstructureNotifyMask, - (XEvent *)&xclient); + ::XSendEvent( mDisplay, mRootWin, False, + SubstructureRedirectMask | SubstructureNotifyMask, + (XEvent *)&xclient); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |