Skip to content

Commit

Permalink
upgrade ndi: NDI 2023-11-17 r137264 v5.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
deadbeef84 committed May 24, 2024
1 parent 278dfaa commit 0acc8e0
Show file tree
Hide file tree
Showing 13 changed files with 646 additions and 575 deletions.
464 changes: 234 additions & 230 deletions src/modules/newtek/interop/Processing.NDI.DynamicLoad.h

Large diffs are not rendered by default.

28 changes: 16 additions & 12 deletions src/modules/newtek/interop/Processing.NDI.Find.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

// NOTE : The following MIT license applies to this file ONLY and not to the SDK as a whole. Please review
// the SDK documentation for the description of the full license terms, which are also provided in the file
// "NDI License Agreement.pdf" within the SDK or online at http://new.tk/ndisdk_license/. Your use of any
// "NDI License Agreement.pdf" within the SDK or online at http://ndi.link/ndisdk_license. Your use of any
// part of this SDK is acknowledgment that you agree to the SDK license terms. The full NDI SDK may be
// downloaded at http://ndi.tv/
// downloaded at http://ndi.video/
//
//***********************************************************************************************************
//
// Copyright (C)2014-2021, NewTek, inc.
// Copyright (C) 2023 Vizrt NDI AB. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
// associated documentation files(the "Software"), to deal in the Software without restriction, including
Expand All @@ -27,17 +27,18 @@
//
//***********************************************************************************************************

// Structures and type definitions required by NDI finding
// The reference to an instance of the finder
typedef void* NDIlib_find_instance_t;
// Structures and type definitions required by NDI finding.
// The reference to an instance of the finder.
struct NDIlib_find_instance_type;
typedef struct NDIlib_find_instance_type* NDIlib_find_instance_t;

// The creation structure that is used when you are creating a finder
typedef struct NDIlib_find_create_t
{ // Do we want to include the list of NDI sources that are running on the local machine? If TRUE then
// The creation structure that is used when you are creating a finder.
typedef struct NDIlib_find_create_t {
// Do we want to include the list of NDI sources that are running on the local machine? If TRUE then
// local sources will be visible, if FALSE then they will not.
bool show_local_sources;

// Which groups do you want to search in for sources
// Which groups do you want to search in for sources.
const char* p_groups;

// The list of additional IP addresses that exist that we should query for sources on. For instance, if
Expand All @@ -49,9 +50,12 @@ typedef struct NDIlib_find_create_t
const char* p_extra_ips;

#if NDILIB_CPP_DEFAULT_CONSTRUCTORS
NDIlib_find_create_t(bool show_local_sources_ = true, const char* p_groups_ = NULL, const char* p_extra_ips_ = NULL);
NDIlib_find_create_t(
bool show_local_sources_ = true,
const char* p_groups_ = NULL,
const char* p_extra_ips_ = NULL
);
#endif // NDILIB_CPP_DEFAULT_CONSTRUCTORS

} NDIlib_find_create_t;

//***********************************************************************************************************
Expand Down
62 changes: 26 additions & 36 deletions src/modules/newtek/interop/Processing.NDI.FrameSync.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

// NOTE : The following MIT license applies to this file ONLY and not to the SDK as a whole. Please review
// the SDK documentation for the description of the full license terms, which are also provided in the file
// "NDI License Agreement.pdf" within the SDK or online at http://new.tk/ndisdk_license/. Your use of any
// "NDI License Agreement.pdf" within the SDK or online at http://ndi.link/ndisdk_license. Your use of any
// part of this SDK is acknowledgment that you agree to the SDK license terms. The full NDI SDK may be
// downloaded at http://ndi.tv/
// downloaded at http://ndi.video/
//
//***********************************************************************************************************
//
// Copyright (C)2014-2021, NewTek, inc.
// Copyright (C) 2023 Vizrt NDI AB. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
// associated documentation files(the "Software"), to deal in the Software without restriction, including
Expand Down Expand Up @@ -74,7 +74,8 @@
// so that they can be ISO edited, then you might want a frame-sync.

// The type instance for a frame-synchronizer.
typedef void* NDIlib_framesync_instance_t;
struct NDIlib_framesync_instance_type;
typedef struct NDIlib_framesync_instance_type* NDIlib_framesync_instance_t;

// Create a frame synchronizer instance that can be used to get frames from a receiver. Once this receiver
// has been bound to a frame-sync then you should use it in order to receive video frames. You can continue
Expand All @@ -101,36 +102,30 @@ void NDIlib_framesync_destroy(NDIlib_framesync_instance_t p_instance);
//
// NDIlib_framesync_capture_audio(p_instance, p_audio_data, 0, 0, 0);
//
// will return in p_audio_data the current received audio format if there is one or sample-rate and
// will return in p_audio_data the current received audio format if there is one or sample_rate and
// no_channels equal to zero if there is not one. At any time you can specify sample_rate and no_channels as
// zero and it will return the current received audio format.
//
PROCESSINGNDILIB_API
void NDIlib_framesync_capture_audio(// The frame sync instance data.
NDIlib_framesync_instance_t p_instance,
// The destination audio buffer that you wish to have filled in.
NDIlib_audio_frame_v2_t* p_audio_data,
// Your desired sample rate, number of channels and the number of desired samples.
int sample_rate, int no_channels, int no_samples);
void NDIlib_framesync_capture_audio(
NDIlib_framesync_instance_t p_instance,
NDIlib_audio_frame_v2_t* p_audio_data,
int sample_rate, int no_channels, int no_samples
);
PROCESSINGNDILIB_API
void NDIlib_framesync_capture_audio_v2(// The frame sync instance data.
NDIlib_framesync_instance_t p_instance,
// The destination audio buffer that you wish to have filled in.
NDIlib_audio_frame_v3_t* p_audio_data,
// Your desired sample rate, number of channels and the number of desired samples.
int sample_rate, int no_channels, int no_samples);
void NDIlib_framesync_capture_audio_v2(
NDIlib_framesync_instance_t p_instance,
NDIlib_audio_frame_v3_t* p_audio_data,
int sample_rate, int no_channels, int no_samples
);

// Free audio returned by NDIlib_framesync_capture_audio.
PROCESSINGNDILIB_API
void NDIlib_framesync_free_audio(// The frame sync instance data.
NDIlib_framesync_instance_t p_instance,
// The destination audio buffer that you wish to have filled in.
NDIlib_audio_frame_v2_t* p_audio_data);
void NDIlib_framesync_free_audio(NDIlib_framesync_instance_t p_instance, NDIlib_audio_frame_v2_t* p_audio_data);

// Free audio returned by NDIlib_framesync_capture_audio_v2.
PROCESSINGNDILIB_API
void NDIlib_framesync_free_audio_v2(// The frame sync instance data.
NDIlib_framesync_instance_t p_instance,
// The destination audio buffer that you wish to have filled in.
NDIlib_audio_frame_v3_t* p_audio_data);
void NDIlib_framesync_free_audio_v2(NDIlib_framesync_instance_t p_instance, NDIlib_audio_frame_v3_t* p_audio_data);

// This function will tell you the approximate current depth of the audio queue to give you an indication
// of the number of audio samples you can request. Note that if you should treat the results of this function
Expand Down Expand Up @@ -166,17 +161,12 @@ int NDIlib_framesync_audio_queue_depth(NDIlib_framesync_instance_t p_instance);
// format, or black.
//
PROCESSINGNDILIB_API
void NDIlib_framesync_capture_video(// The frame sync instance data.
NDIlib_framesync_instance_t p_instance,
// The destination video buffer that you wish to have filled in.
NDIlib_video_frame_v2_t* p_video_data,
// The frame type that you would prefer, all effort is made to match these.
NDIlib_frame_format_type_e field_type NDILIB_CPP_DEFAULT_VALUE(NDIlib_frame_format_type_progressive));
void NDIlib_framesync_capture_video(
NDIlib_framesync_instance_t p_instance,
NDIlib_video_frame_v2_t* p_video_data,
NDIlib_frame_format_type_e field_type NDILIB_CPP_DEFAULT_VALUE(NDIlib_frame_format_type_progressive)
);

// Free audio returned by NDIlib_framesync_capture_video.
//
PROCESSINGNDILIB_API
void NDIlib_framesync_free_video(// The frame sync instance data.
NDIlib_framesync_instance_t p_instance,
// The destination video buffer that you wish to have filled in.
NDIlib_video_frame_v2_t* p_video_data);
void NDIlib_framesync_free_video(NDIlib_framesync_instance_t p_instance, NDIlib_video_frame_v2_t* p_video_data);
6 changes: 3 additions & 3 deletions src/modules/newtek/interop/Processing.NDI.Lib.cplusplus.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

// NOTE : The following MIT license applies to this file ONLY and not to the SDK as a whole. Please review
// the SDK documentation for the description of the full license terms, which are also provided in the file
// "NDI License Agreement.pdf" within the SDK or online at http://new.tk/ndisdk_license/. Your use of any
// "NDI License Agreement.pdf" within the SDK or online at http://ndi.link/ndisdk_license. Your use of any
// part of this SDK is acknowledgment that you agree to the SDK license terms. The full NDI SDK may be
// downloaded at http://ndi.tv/
// downloaded at http://ndi.video/
//
//***********************************************************************************************************
//
// Copyright (C)2014-2021, NewTek, inc.
// Copyright (C) 2023 Vizrt NDI AB. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
// associated documentation files(the "Software"), to deal in the Software without restriction, including
Expand Down
32 changes: 16 additions & 16 deletions src/modules/newtek/interop/Processing.NDI.Lib.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

// NOTE : The following MIT license applies to this file ONLY and not to the SDK as a whole. Please review
// the SDK documentation for the description of the full license terms, which are also provided in the file
// "NDI License Agreement.pdf" within the SDK or online at http://new.tk/ndisdk_license/. Your use of any
// "NDI License Agreement.pdf" within the SDK or online at http://ndi.link/ndisdk_license. Your use of any
// part of this SDK is acknowledgment that you agree to the SDK license terms. The full NDI SDK may be
// downloaded at http://ndi.tv/
// downloaded at http://ndi.video/
//
//***********************************************************************************************************
//
// Copyright (C)2014-2021, NewTek, inc.
// Copyright (C) 2023 Vizrt NDI AB. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
// associated documentation files(the "Software"), to deal in the Software without restriction, including
Expand Down Expand Up @@ -50,18 +50,18 @@
# ifdef _WIN64
# define NDILIB_LIBRARY_NAME "Processing.NDI.Lib.x64.dll"
# define NDILIB_REDIST_FOLDER "NDI_RUNTIME_DIR_V5"
# define NDILIB_REDIST_URL "http://new.tk/NDIRedistV5"
# define NDILIB_REDIST_URL "http://ndi.link/NDIRedistV5"
# else // _WIN64
# define NDILIB_LIBRARY_NAME "Processing.NDI.Lib.x86.dll"
# define NDILIB_REDIST_FOLDER "NDI_RUNTIME_DIR_V5"
# define NDILIB_REDIST_URL "http://new.tk/NDIRedistV5"
# define NDILIB_REDIST_URL "http://ndi.link/NDIRedistV5"
# endif // _WIN64
# endif // PROCESSINGNDILIB_EXPORTS
# else // _WIN32
# ifdef __APPLE__
# define NDILIB_LIBRARY_NAME "libndi.dylib"
# define NDILIB_REDIST_FOLDER "NDI_RUNTIME_DIR_V5"
# define NDILIB_REDIST_URL "http://new.tk/NDIRedistV5Apple"
# define NDILIB_REDIST_URL "http://ndi.link/NDIRedistV5Apple"
# else // __APPLE__
# define NDILIB_LIBRARY_NAME "libndi.so.5"
# define NDILIB_REDIST_FOLDER "NDI_RUNTIME_DIR_V5"
Expand Down Expand Up @@ -103,7 +103,7 @@
# endif // __cplusplus
#endif // NDILIB_CPP_DEFAULT_VALUE

// Data structures shared by multiple SDKs
// Data structures shared by multiple SDKs.
#include "Processing.NDI.compat.h"
#include "Processing.NDI.structs.h"

Expand All @@ -126,34 +126,34 @@ const char* NDIlib_version(void);
PROCESSINGNDILIB_API
bool NDIlib_is_supported_CPU(void);

// The finding (discovery API)
// The finding (discovery API).
#include "Processing.NDI.Find.h"

// The receiving video and audio API
// The receiving video and audio API.
#include "Processing.NDI.Recv.h"

// Extensions to support PTZ control, etc...
#include "Processing.NDI.Recv.ex.h"

// The sending video API
// The sending video API.
#include "Processing.NDI.Send.h"

// The routing of inputs API
// The routing of inputs API.
#include "Processing.NDI.Routing.h"

// Utility functions
// Utility functions.
#include "Processing.NDI.utilities.h"

// Deprecated structures and functions
// Deprecated structures and functions.
#include "Processing.NDI.deprecated.h"

// The frame synchronizer
// The frame synchronizer.
#include "Processing.NDI.FrameSync.h"

// Dynamic loading used for OSS libraries
// Dynamic loading used for OSS libraries.
#include "Processing.NDI.DynamicLoad.h"

// The C++ implementations
// The C++ implementations.
#if NDILIB_CPP_DEFAULT_CONSTRUCTORS
#include "Processing.NDI.Lib.cplusplus.h"
#endif // NDILIB_CPP_DEFAULT_CONSTRUCTORS
Loading

0 comments on commit 0acc8e0

Please sign in to comment.