[PATCH v3 2/5] winegstreamer: Negotiate allocators per source pin.

Alexandre Julliard julliard at winehq.org
Thu Feb 13 13:32:32 CST 2020


Zebediah Figura <z.figura12 at 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 at 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;

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list