From: <fla...@gm...> - 2007-12-07 14:47:46
|
# HG changeset patch # User Diego 'Flameeyes' Pettenò <fla...@gm...> # Date 1197037715 -3600 # Node ID f57cb861ecff6bcd351c516ca2403acece4f84d1 # Parent 850cfa08a9874ce276d33962bc0bd0bcc3e871d1 # Parent 293845e465cc96eb9c709d2492a6412c8bb6e876 Merge from 1.1. diff -r f57cb861ecff6bcd351c516ca2403acece4f84d1 -r 850cfa08a9874ce276d33962bc0bd0bcc3e871d1 ChangeLog --- a/ChangeLog Fri Dec 07 15:28:35 2007 +0100 +++ b/ChangeLog Mon Dec 03 23:52:57 2007 +0000 @@ -62,7 +62,7 @@ xine-lib (1.1.9) (unreleased) This requires conversion to UTF-8 of entities with codes >= 128. * Fixed ATSC support. [Bug 1749508] * Fixed a possible DVB plugin crash when switching channels. - * Fixed ogg demuxer to not discard data at the end of the stream. + * Fixed a crash closing the frontend. [Bug FS#3] * Fixed deadlock on ao_close while paused. * Nicer wakeup behaviour, using select instead of nanosleep (800 -> 100 wakeups/s). @@ -70,6 +70,8 @@ xine-lib (1.1.9) (unreleased) but not played yet. * Fixed a race condition between ao_loop and ao_close to not lose the last buffer. + * DXR3 encoding with external ffmpeg should be fixed now. + (This was broken by ffmpeg revision 9283). xine-lib (1.1.8) * Send a channel-changed event to the frontend when receiving the SYNC diff -r f57cb861ecff6bcd351c516ca2403acece4f84d1 -r 850cfa08a9874ce276d33962bc0bd0bcc3e871d1 src/libffmpeg/ff_video_decoder.c --- a/src/libffmpeg/ff_video_decoder.c Fri Dec 07 15:28:35 2007 +0100 +++ b/src/libffmpeg/ff_video_decoder.c Mon Dec 03 23:52:57 2007 +0000 @@ -213,11 +213,13 @@ static void release_buffer(struct AVCode ff_video_decoder_t *this = (ff_video_decoder_t *)context->opaque; if (av_frame->type == FF_BUFFER_TYPE_USER) { - vo_frame_t *img = (vo_frame_t *)av_frame->opaque; + if ( av_frame->opaque ) { + vo_frame_t *img = (vo_frame_t *)av_frame->opaque; + + img->free(img); + } + xine_list_iterator_t it; - - assert(av_frame->opaque); - img->free(img); it = xine_list_find(this->dr1_frames, av_frame); assert(it); diff -r f57cb861ecff6bcd351c516ca2403acece4f84d1 -r 850cfa08a9874ce276d33962bc0bd0bcc3e871d1 src/libffmpeg/ffmpeg_encoder.c --- a/src/libffmpeg/ffmpeg_encoder.c Fri Dec 07 15:28:35 2007 +0100 +++ b/src/libffmpeg/ffmpeg_encoder.c Mon Dec 03 23:52:57 2007 +0000 @@ -70,7 +70,7 @@ int dxr3_encoder_init(dxr3_driver_t *drv lavc_data_t* this; avcodec_init(); - register_avcodec(&mpeg1video_encoder); + avcodec_register_all(); lprintf("lavc init , version %x\n", avcodec_version()); this = xine_xmalloc(sizeof(lavc_data_t)); if (!this) return 0; |