decoder/ffmpeg: use AVIOContext instead of ByteIOContext
This commit is contained in:
		
							
								
								
									
										2
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,6 +1,8 @@ | |||||||
| ver 0.16.7 (2011/??/??) | ver 0.16.7 (2011/??/??) | ||||||
| * input: | * input: | ||||||
|   - ffmpeg: support libavformat 0.7 |   - ffmpeg: support libavformat 0.7 | ||||||
|  | * decoder: | ||||||
|  |   - ffmpeg: support libavformat 0.7 | ||||||
| * output: | * output: | ||||||
|   - httpd: fix excessive buffering |   - httpd: fix excessive buffering | ||||||
|   - openal: force 16 bit playback, as 8 bit doesn't work |   - openal: force 16 bit playback, as 8 bit doesn't work | ||||||
|   | |||||||
| @@ -126,11 +126,19 @@ mpd_ffmpeg_stream_open(struct decoder *decoder, struct input_stream *input) | |||||||
| 	struct mpd_ffmpeg_stream *stream = g_new(struct mpd_ffmpeg_stream, 1); | 	struct mpd_ffmpeg_stream *stream = g_new(struct mpd_ffmpeg_stream, 1); | ||||||
| 	stream->decoder = decoder; | 	stream->decoder = decoder; | ||||||
| 	stream->input = input; | 	stream->input = input; | ||||||
|  | #if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(52,101,0) | ||||||
|  | 	stream->io = avio_alloc_context(stream->buffer, sizeof(stream->buffer), | ||||||
|  | 					false, stream, | ||||||
|  | 					mpd_ffmpeg_stream_read, NULL, | ||||||
|  | 					input->seekable | ||||||
|  | 					? mpd_ffmpeg_stream_seek : NULL); | ||||||
|  | #else | ||||||
| 	stream->io = av_alloc_put_byte(stream->buffer, sizeof(stream->buffer), | 	stream->io = av_alloc_put_byte(stream->buffer, sizeof(stream->buffer), | ||||||
| 				       false, stream, | 				       false, stream, | ||||||
| 				       mpd_ffmpeg_stream_read, NULL, | 				       mpd_ffmpeg_stream_read, NULL, | ||||||
| 				       input->seekable | 				       input->seekable | ||||||
| 				       ? mpd_ffmpeg_stream_seek : NULL); | 				       ? mpd_ffmpeg_stream_seek : NULL); | ||||||
|  | #endif | ||||||
| 	if (stream->io == NULL) { | 	if (stream->io == NULL) { | ||||||
| 		g_free(stream); | 		g_free(stream); | ||||||
| 		return NULL; | 		return NULL; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Max Kellermann
					Max Kellermann