@ -452,10 +452,10 @@ static uint8_t *avc_find_startcode( uint8_t *p, uint8_t *end )
return end + 3 ;
}
static int avc_parse_nal_units ( uint8_t * * buf , int * size )
static int avc_parse_nal_units ( uint8_t * buf_in , uint8_t * * buf , int * size )
{
ByteIOContext * pb ;
uint8_t * p = * buf ;
uint8_t * p = buf_in ;
uint8_t * end = p + * size ;
uint8_t * nal_start , * nal_end ;
int ret = url_open_dyn_buf ( & pb ) ;
@ -488,7 +488,7 @@ static int mov_write_avcc_tag(ByteIOContext *pb, MOVTrack *track)
uint32_t sps_size = 0 , pps_size = 0 ;
uint8_t * sps = 0 , * pps = 0 ;
int ret = avc_parse_nal_units ( & track - > vosData , & track - > vosLen ) ;
int ret = avc_parse_nal_units ( track - > vosData , & track - > vosData , & track - > vosLen ) ;
if ( ret < 0 )
return ret ;
buf = track - > vosData ;
@ -1637,7 +1637,7 @@ static int mov_write_packet(AVFormatContext *s, AVPacket *pkt)
if ( enc - > codec_id = = CODEC_ID_H264 & & trk - > vosLen > 0 & & * ( uint8_t * ) trk - > vosData ! = 1 ) {
/* from x264 or from bytestream h264 */
/* nal reformating needed */
int ret = avc_parse_nal_units ( & pkt - > data , & pkt - > size ) ;
int ret = avc_parse_nal_units ( pkt - > data , & pkt - > data , & pkt - > size ) ;
if ( ret < 0 )
return ret ;
assert ( pkt - > size ) ;