avformat/utils: re-factor freeing AVStreams
This matches the Libav signature and simplifies merging future changes.
This commit is contained in:
		
							parent
							
								
									2905c51204
								
							
						
					
					
						commit
						c03ffe1712
					
				| @ -3651,13 +3651,16 @@ int av_read_pause(AVFormatContext *s) | |||||||
|     return AVERROR(ENOSYS); |     return AVERROR(ENOSYS); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void ff_free_stream(AVFormatContext *s, AVStream *st) { | static void free_stream(AVStream **pst) | ||||||
|     int j; | { | ||||||
|     av_assert0(s->nb_streams>0); |     AVStream *st = *pst; | ||||||
|     av_assert0(s->streams[ s->nb_streams - 1 ] == st); |     int i; | ||||||
| 
 | 
 | ||||||
|     for (j = 0; j < st->nb_side_data; j++) |     if (!st) | ||||||
|         av_freep(&st->side_data[j].data); |         return; | ||||||
|  | 
 | ||||||
|  |     for (i = 0; i < st->nb_side_data; i++) | ||||||
|  |         av_freep(&st->side_data[i].data); | ||||||
|     av_freep(&st->side_data); |     av_freep(&st->side_data); | ||||||
| 
 | 
 | ||||||
|     if (st->parser) |     if (st->parser) | ||||||
| @ -3678,7 +3681,16 @@ void ff_free_stream(AVFormatContext *s, AVStream *st) { | |||||||
|     av_freep(&st->info); |     av_freep(&st->info); | ||||||
|     av_freep(&st->recommended_encoder_configuration); |     av_freep(&st->recommended_encoder_configuration); | ||||||
|     av_freep(&st->priv_pts); |     av_freep(&st->priv_pts); | ||||||
|     av_freep(&s->streams[ --s->nb_streams ]); | 
 | ||||||
|  |     av_freep(pst); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void ff_free_stream(AVFormatContext *s, AVStream *st) | ||||||
|  | { | ||||||
|  |     av_assert0(s->nb_streams>0); | ||||||
|  |     av_assert0(s->streams[ s->nb_streams - 1 ] == st); | ||||||
|  | 
 | ||||||
|  |     free_stream(&s->streams[ --s->nb_streams ]); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void avformat_free_context(AVFormatContext *s) | void avformat_free_context(AVFormatContext *s) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user