Zebediah Figura z.figura12@gmail.com writes:
In particular, pass the correct buffer size for the format we have chosen.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48570 Fixes: f5a1e2bd87754a2822f2eb0e84291d787936d115 Signed-off-by: Zebediah Figura z.figura12@gmail.com
dlls/winegstreamer/gstdemux.c | 91 ++++++++--------------------------- 1 file changed, 19 insertions(+), 72 deletions(-)
This breaks the tests:
../../../tools/runtest -q -P wine -T ../../.. -M wmp.dll -p wmp_test.exe media && touch media.ok wine: Unhandled page fault on write access to 00000000 at address 6F3C8629 (thread 0009), starting debugger... Unhandled exception: page fault on write access to 0x00000000 in 32-bit code (0x6f3c8629). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:6f3c8629 ESP:0066e750 EBP:0066e778 EFLAGS:00010202( R- -- I - - - ) EAX:00000001 EBX:007e3524 ECX:00000000 EDX:00000000 ESI:007e34b8 EDI:007e3d80 Stack dump: 0x0066e750: 007e3524 7bb07760 0066e828 0066e780 0x0066e760: 0066e89c 007e3d90 0066e848 7cc372ba 0x0066e770: 0066e89c 007e3d90 0066e848 7cc372d0 0x0066e780: 007e34b8 00000066 00000066 00000066 0x0066e790: 00000000 00000000 0066ec58 007e3558 0x0066e7a0: 007d8548 00000104 00000000 00000001 Backtrace: =>0 0x6f3c8629 FileAsyncReader_BeginFlush+0x49() [Z:\home\julliard\wine\wine\dlls\quartz\filesource.c:943] in quartz (0x0066e778) 1 0x7cc372d0 perform_cb+0xa6f(instance=<couldn't compute location>, user=<couldn't compute location>) [Z:\home\julliard\wine\wine\dlls\winegstreamer....\include\strmif.h:7605] in winegstreamer (0x0066e848) 2 0x7cc31b2b call_cb+0xda(cbdata=0x66e89c) [Z:\home\julliard\wine\wine\dlls\winegstreamer\gst_cbs.c:49] in winegstreamer (0x0066e888) 3 0x7cc31d47 event_src_wrapper+0x36() [Z:\home\julliard\wine\wine\dlls\winegstreamer\gst_cbs.c:160] in winegstreamer (0x0066e918) 4 0x7c77d5bc GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7bb07760) 5 0x7c77db80 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7bb07760) 6 0x7c786626 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7bb07760) 7 0x7c786b45 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7caee380) 8 0x7c782f0e GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7caee380) 9 0x7c78304d GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x00000001) 10 0x7c77d5bc GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7bb07760) 11 0x7c77db80 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7bb07760) 12 0x7c786626 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7bb07760) 13 0x7c1d09fa in libgstcoreelements.so (+0x469f9) (0x7b909e18) 14 0x7c77d5bc GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7bb07760) 15 0x7c77db80 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7bb07760) 16 0x7c786626 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7bb07760) 17 0x7ca3570d gst_tag_parse_extended_comment+0x4a3c() in libgsttag-1.0.so.0 (0x7be402b8) 18 0x7c77d5bc GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7bb07760) 19 0x7c77db80 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7bb07760) 20 0x7c786626 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7bb07760) 21 0x7c56605a gst_byte_reader_dup_string_utf16+0xffffffff() in libgstbase-1.0.so.0 (0x00000001) 22 0x7c77d5bc GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7cadd250) 23 0x7c77db80 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7cadd250) 24 0x7c786626 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7cadd250) 25 0x7c8aa85e gst_audio_base_sink_create_ringbuffer+0xffffffff() in libgstaudio-1.0.so.0 (0x7b92d558) 26 0x7c77d5bc GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7cadd250) 27 0x7c77db80 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7cadd250) 28 0x7c786626 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7cadd250) 29 0x7c786b45 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7ba08958) 30 0x7c782f0e GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7ba08958) 31 0x7c78304d GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x00000001) 32 0x7c360a1a gst_plugin_playback_get_desc+0xffffffff() in libgstplayback.so (0x7c875464) 33 0x7c77d5bc GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7cadd250) 34 0x7c77db80 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7cadd250) 35 0x7c786626 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7cadd250) 36 0x7c58c3e8 gst_byte_reader_dup_string_utf16+0xffffffff() in libgstbase-1.0.so.0 (0x7cadd250) 37 0x7c77d5bc GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7cadd250) 38 0x7c77db80 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7cadd250) 39 0x7c786626 GST_CAT_LOCKING+0xffffffff() in libgstreamer-1.0.so.0 (0x7cadd250) 40 0x7cc3336d GST_Seeking_SetPositions+0x17c(iface=<couldn't compute location>, pCur=<couldn't compute location>, curflags=<couldn't compute location>, pStop=<couldn't compute location>, stopflags=<couldn't compute location>) [Z:\home\julliard\wine\wine\dlls\winegstreamer\gstdemux.c:1911] in winegstreamer (0x0066fa88) 41 0x6f426ac0 MediaSeekingPassThru_SetPositions+0x4f() [Z:\home\julliard\wine\wine\dlls\strmbase....\include\strmif.h:3412] in quartz (0x0066fae8) 42 0x6f3d3b07 MediaSeeking_SetPositions+0x4a6(iface=<is not available>, current_ptr=<is not available>, current_flags=<is not available>, stop_ptr=<is not available>, stop_flags=<is not available>) [Z:\home\julliard\wine\wine\dlls\quartz....\include\strmif.h:3412] in quartz (0x0066fb98) 43 0x6e108465 WMPControls_put_currentPosition+0x64() [Z:\home\julliard\wine\wine\dlls\wmp....\include\strmif.h:3412] in wmp (0x0066fbe8) 44 0x004042b3 test_wmp+0xcb2() [Z:\home\julliard\wine\wine\dlls\wmp\tests......\include\wmp.h:1273] in wmp_test (0x0066fda8) 45 0x00405619 func_media+0x858() [Z:\home\julliard\wine\wine\dlls\wmp\tests\media.c:750] in wmp_test (0x0066fe18) 46 0x0040cd69 main+0x278(argc=<is not available>, argv=<is not available>) [Z:\home\julliard\wine\wine\dlls\wmp\tests......\include\wine\test.h:548] in wmp_test (0x0066fee8) 47 0x0040c9ad mainCRTStartup+0x6c() [Z:\home\julliard\wine\wine\dlls\msvcrt\crt_main.c:53] in wmp_test (0x0066ff30) 48 0x7b453a92 call_process_entry+0x11() in kernel32 (0x0066ff48) 49 0x7b453eb0 start_process+0xdf(entry=<couldn't compute location>, peb=<couldn't compute location>) [Z:\home\julliard\wine\wine\dlls\kernel32\process.c:153] in kernel32 (0x0066ffd8) 50 0x7b453a9e __wine_start_process+0x9() in kernel32 (0x0066ffec) 0x6f3c8629 FileAsyncReader_BeginFlush+0x49 [Z:\home\julliard\wine\wine\dlls\quartz\filesource.c:943] in quartz: movl $0x0,0x0(%ecx,%edx,1) 943 filter->requests[i].sample = NULL;