[channels] replace casts by proper return addresses

Use the base structs return address instead of a derived one so the data
types match.
This commit is contained in:
akallabeth
2026-01-26 10:08:00 +01:00
parent ec4c4ee5a3
commit f039d35032
4 changed files with 10 additions and 11 deletions

View File

@@ -669,7 +669,7 @@ static UINT audin_on_new_channel_connection(IWTSListenerCallback* pListenerCallb
callback->plugin = listener_callback->plugin;
callback->channel_mgr = listener_callback->channel_mgr;
callback->channel = pChannel;
*ppCallback = (IWTSVirtualChannelCallback*)callback;
*ppCallback = &callback->iface;
return CHANNEL_RC_OK;
}

View File

@@ -56,7 +56,7 @@ static UINT generic_on_new_channel_connection(IWTSListenerCallback* pListenerCal
listener_callback->channel_callback = callback;
listener_callback->channel = pChannel;
*ppCallback = (IWTSVirtualChannelCallback*)callback;
*ppCallback = &callback->iface;
return CHANNEL_RC_OK;
}

View File

@@ -440,9 +440,10 @@ static size_t cam_v4l_stream_alloc_buffers(CamV4lStream* stream)
*
* @return 0 on success, otherwise a Win32 error code
*/
static UINT cam_v4l_stream_capture_thread(void* param)
static DWORD WINAPI cam_v4l_stream_capture_thread(LPVOID param)
{
CamV4lStream* stream = (CamV4lStream*)param;
WINPR_ASSERT(stream);
int fd = stream->fd;

View File

@@ -680,19 +680,17 @@ static UINT video_control_send_client_notification(VideoClientContext* context,
static void video_timer(VideoClientContext* video, UINT64 now)
{
PresentationContext* presentation = NULL;
VideoClientContextPriv* priv = NULL;
VideoFrame* peekFrame = NULL;
VideoFrame* frame = NULL;
WINPR_ASSERT(video);
priv = video->priv;
VideoClientContextPriv* priv = video->priv;
WINPR_ASSERT(priv);
EnterCriticalSection(&priv->framesLock);
do
{
peekFrame = (VideoFrame*)Queue_Peek(priv->frames);
VideoFrame* peekFrame = (VideoFrame*)Queue_Peek(priv->frames);
if (!peekFrame)
break;
@@ -1032,13 +1030,13 @@ static UINT video_control_on_new_channel_connection(IWTSListenerCallback* listen
IWTSVirtualChannelCallback** ppCallback)
// NOLINTEND(readability-non-const-parameter)
{
GENERIC_CHANNEL_CALLBACK* callback = NULL;
GENERIC_LISTENER_CALLBACK* listener_callback = (GENERIC_LISTENER_CALLBACK*)listenerCallback;
WINPR_UNUSED(Data);
WINPR_UNUSED(pbAccept);
callback = (GENERIC_CHANNEL_CALLBACK*)calloc(1, sizeof(GENERIC_CHANNEL_CALLBACK));
GENERIC_CHANNEL_CALLBACK* callback =
(GENERIC_CHANNEL_CALLBACK*)calloc(1, sizeof(GENERIC_CHANNEL_CALLBACK));
if (!callback)
{
WLog_ERR(TAG, "calloc failed!");
@@ -1052,7 +1050,7 @@ static UINT video_control_on_new_channel_connection(IWTSListenerCallback* listen
callback->channel = channel;
listener_callback->channel_callback = callback;
*ppCallback = (IWTSVirtualChannelCallback*)callback;
*ppCallback = &callback->iface;
return CHANNEL_RC_OK;
}
@@ -1084,7 +1082,7 @@ static UINT video_data_on_new_channel_connection(IWTSListenerCallback* pListener
callback->channel = pChannel;
listener_callback->channel_callback = callback;
*ppCallback = (IWTSVirtualChannelCallback*)callback;
*ppCallback = &callback->iface;
return CHANNEL_RC_OK;
}