Commit graph

401 commits

Author SHA1 Message Date
Alistair Leslie-Hughes 65c3ad91d4 avifil32: Remove DECLSPEC_HIDDEN usage. 2023-08-23 17:33:48 +02:00
Eric Pouech 52a83ffe4e avifil32: Fix GCC 12.2 warning (-Warray-bounds).
Since struct _IAVIStreamImpl has a pointer to a WAVEFORMATEX,
GCC 12.2 emits warning when dereferencing that pointer when
the block has been allocated with sizeof(PCMWAVEFORMAT).

The warning is fixed by always allocating with sizeof(WAVEFORMATEX).
This will overallocate in case of a PCM stream.

The alternative would have been to store in struct _IAVIStreamImpl
a pointer to PCMWAVEFORMAT instead, and add the casting to a
WAVEFORMATEX when needed. That would clutter the code IMO since most
of the ACM APIs expect a LPWAVEFORMATEX.

/home/eric/work/wine/dlls/avifil32/acmstream.c: In function 'AVIFILE_OpenCompressor':
/home/eric/work/wine/dlls/avifil32/acmstream.c:105:24: warning: array subscript 'struct tWAVEFORMATEX[0]' is partly outside array bounds of 'unsigned char[16]' [-Warray-bounds]
  105 |       This->lpOutFormat->wFormatTag = WAVE_FORMAT_PCM;
      |                        ^~
/home/eric/work/wine/dlls/avifil32/acmstream.c:101:27: note: object of size 16 allocated by 'HeapAlloc'
  101 |       This->lpOutFormat = HeapAlloc(GetProcessHeap(), 0, This->cbOutFormat);
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-09-22 21:09:05 +02:00
Eric Pouech ab27b548a5 avifil32/tests: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-23 10:17:25 +01:00
Eric Pouech beb7695d06 avifil32: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 10:46:57 +01:00
Alexandre Julliard f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Alexandre Julliard 1303364fcb avifil32: Use the standard va_list instead of __ms_va_list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-22 11:11:23 +02:00
Alexandre Julliard 088a787a2c makefiles: Make -mno-cygwin the default.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Francois Gouget cb1d0c913d avifil32: Fix a ASCII / ANSI mixup in comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:06:30 +02:00
Alexandre Julliard 5d82baf974 winecrt0: Add a default implementation DllRegisterServer()/DllUnregisterServer().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Alexandre Julliard bd6b53740c winecrt0: Add a default implementation for DllCanUnloadNow().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Esme Povirk bfa143a203 avifil32: Only add the first stream reference to the parent.
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 11:21:04 +01:00
Michael Stefaniuc 4ffc5ed5ca avifil32: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-08 10:45:55 +02:00
Alexandre Julliard cdf1e763bf avifil32: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-28 12:06:46 +02:00
Michael Müller da0f196c93 avifil32: Correctly handle compressed frames when desired format is specified.
From: Michael Müller <michael@fds-team.de>
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 21:53:00 +02:00
Michael Stefaniuc 143ce73c7a avifil32: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 20:54:28 +01:00
Michael Stefaniuc 962b31c80b include: Add a generic available ARRAY_SIZE().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-04 10:39:15 +02:00
Gijs Vermeulen 42a82726ba avifil32: Introduce ARRAY_SIZE macro.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:13:55 +01:00
Alistair Leslie-Hughes 168ca6ee7b avifil32: Register proxy interfaces.
Based on a patch by Dmitry Timoshkov.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-20 11:47:28 +01:00
Dmitry Timoshkov 57a8a33a7c avifil32: Correct threading model on interfaces.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-20 11:45:17 +01:00
Nikolay Sivov 7675ce7550 avifil32: Remove some redundant statements.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-26 11:25:17 +01:00
Michael Stefaniuc 78c49a4d32 avifil32: Use SetRectEmpty() instead of memset().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 09:11:49 +02:00
André Hentschel 349a80e076 avifil32: Fix AVIStreamReadFormat spec file entry.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:51 +01:00
Dmitry Timoshkov 7ee4021694 avifil32: AVIFileGetStream should set stream to NULL in case of an error.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 13:05:13 +01:00
Michael Stefaniuc b7b031aa43 avifil32: Avoid a cast from a COM object to an iface.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 20:18:00 +09:00
Andrey Gusev e9907520b8 avifil32: Use debugstr_guid() in TRACE() message.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-20 23:04:46 +09:00
Michael Stefaniuc d13dde18fa avifil32: Avoid casts from COM objects to ifaces.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 21:38:09 +09:00
Michael Stefaniuc 06744904dd avifil32/tests: Add some basic COM tests for AVIEditStream.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 21:38:04 +09:00
Michael Stefaniuc f68a760a63 avifil32: Avoid casts of IAVIEditStream to the COM object.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 21:37:59 +09:00
Michael Stefaniuc a0b7eb0d3e avifil32: Move CreateEditableStream() to avoid exporting a helper.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 21:37:50 +09:00
Michael Stefaniuc 5dc2626ba4 avifil32: Avoid using the LPCLASSFACTORY COM iface type.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 11:12:35 +09:00
Michael Stefaniuc 00de4b59d1 avifil32: Clean up the IClassFactory creation.
Also move it to avoid forward declarations of the IClassFactory methods.

Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 11:12:31 +09:00
Michael Stefaniuc 72175acdd1 avifil32: Use atomic operations to manipulate the refcount.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 11:12:25 +09:00
Michael Stefaniuc e8a2a68f59 avifil32: Avoid using CopyRect().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 22:16:34 +09:00
Nikolay Sivov 94c1c8e504 avifil32: Use matching buffer length for dest string (Coverity).
Reported issue is about potential overflow when copying to fixed size
buffer from larger source buffer

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-11 20:22:12 +09:00
Sebastian Lackner ec010ce361 avifil32/tests: Remove a couple of unnecessary tests.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 20:26:10 +09:00
Nikolay Sivov 509831c027 avifil32: Use typed pointers in sizeof() and va_arg() (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-11 19:54:15 +09:00
Nikolay Sivov 82a9faae2c avifil32: Use __ms_va* varargs variant for AVISave[A,W].
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-30 23:16:48 +09:00
Bruno Jesus a9522d52fe avifil32: Implement AVISave[A|W] by forwarding to AVISaveV.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-26 23:03:38 +09:00
Bruno Jesus 175138a42c avifil32: Absolute addresses already point to the correct place in the frame.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-19 20:58:32 +09:00
Francois Gouget f8a7d6ed74 Assorted spelling fixes. 2015-08-07 23:50:48 +09:00
Nikolay Sivov cd4a1ea922 avifil32: Return interface pointer from QI instead of impl pointer. 2015-03-20 17:39:37 +09:00
Bruno Jesus d28c40da3b avifil32: Remove the 1024 frame limit when recording AVI files. 2014-12-31 11:45:00 +01:00
Michael Stefaniuc 4517780988 avifil32: Simplify the check for an empty string (PVS-Studio). 2014-11-13 18:46:39 +09:00
André Hentschel 066fd36ec3 avifil32: Simplify comparing two unsigned ints (PVS-Studio). 2014-11-12 21:11:47 +09:00
Michael Stefaniuc 2bf09a9d25 avifil32: Simplify comparing two unsigned ints (PVS-Studio). 2014-10-28 13:52:32 +09:00
Dmitry Timoshkov 2886471db1 avifil32: Use correct AddRef helpers. 2014-04-08 09:25:59 +02:00
Michael Stefaniuc 9f2f30c412 avifil32: Avoid forward declarations of COM methods. 2014-03-04 11:49:34 +01:00
Michael Stefaniuc 5c12f6bdc9 avifil32: Merge IAVIStream into the WAVFile object. 2014-03-04 11:49:32 +01:00
Michael Stefaniuc fbd740b7b1 avifil32: Merge IPersistFile into the WAVFile object. 2014-03-04 11:49:30 +01:00
Michael Stefaniuc b1c6d5b111 avifil32/tests: Add WAVFile COM tests. 2014-03-04 11:49:28 +01:00