Parsec Sdk Versions Save

Low latency, peer-to-peer, interactive streaming.

6.0

3 years ago
  • Web SDK "source buffer full" error will once again reinitialize the stream instead of stalling
  • Android stream cropping bug fixes (green padding issues)
  • Web SDK has been minimized to only include the Parsec SDK without any browser listeners. The previous behavior is now part of the web example located in examples/web/main.js
  • Removed deprecated error codes
  • Added ParsecRotation as a property of ParsecFrame
  • Removed modeUpdate from ParsecCursor and replaced it with hidden indicating the host is requesting relative mouse mode
  • Reduction in binary size due to dependency cleanup
  • Client example now using libmatoya for cross platform window/input handling

5.0

3 years ago
  • Multiple video streams can now be received during a single client connection
    • Streams now have individual settings in ParsecClientConfig and ParsecHostConfig
    • Many functions, i.e. ParsecClientSetDimensions and ParsecClientPollFrame, now take the stream number as an argument
    • To enable a second stream, the client must call ParsecClientEnableStream
    • A new client event, CLIENT_EVENT_STREAM, is available to signal stream open success or failure
  • ParsecMetrics struct now reports queued client frames pending decode
  • Client decoder selection is now possible via ParsecGetDecoders
  • ParsecClientSetConfig added to allow decoder device changes on the fly
  • tvOS framework added
  • The Linux libparsec.so shared object should now only require GLIBC 2.2.5
  • Fixed a bug that could prevent successful connections on iOS
  • .dylib on iOS has been removed
  • Android, iOS, and tvOS minimum OpenGLES version bumped to 3.0

The Parsec application uses the Parsec SDK internally, and improvements to the core technology that powers the SDK are tracked in our changelog at https://parsecgaming.com/changelog/.

Documentation can be found at https://parsecgaming.com/docs/sdk/.

4.0

3 years ago

Parsec SDK Interface

  • Improved audio buffering strategy in SDL client example
  • macOS client example fixed on Catalina
  • Host virtual gamepad driver now supports Playstation DS4 as an option in ParsecHostConfig.
  • Set host monitor output in desktop mode via ParsecHostConfig. You can query the available outputs via ParsecGetOutputs which returns the monitor name, adapter name, and output unique ID.
  • Additional metrics are now available in the ParsecMetrics struct, including average bitrate and packet retransmissions (an indicator of packet loss).
  • Proper const typing on many SDK functions
  • ParsecClientStatus now includes the guest unique ID (different from userID)
  • parsec-dso.h header typo fixed
  • Query the guest list on the client side via ParsecClientGetGuests. All members of the ParsecGuest struct are valid, including ParsecPermissions and ParsecMetrics structs.
  • For enterprise customers, your users' externalID is now part of the ParsecGuest struct

3.0

4 years ago

Parsec SDK Interface

  • ParsecClientConnect now returns immediately and must be polled with ParsecClientGetStatus to determine connection status. The connection status will move from PARSEC_NOT_RUNNING to PARSEC_CONNECTING and then finally to PARSEC_OK.
  • secret member added to the ParsecHostConfig and ParsecClientConfig structs enabling simpler private game/desktop mode connections. The host simply needs to specify a secret during ParsecHostStart then privately share it with the client. The same secret then must be provided during ParsecClientConnect for the connection to succeed.
  • Metal client renderer added on macOS and iOS: ParsecClientMetalRenderFrame.
  • Fixed improper #pragma warning disable behavior on Windows in parsec.h and parsec-dso.h.
  • Fixed incorrect name in the Parsec SDK iOS framework (from Parsec to ParsecSDK in module.modulemap).
  • Additional ParsecKeymod values added.
  • AttemptID is no longer part of the ParsecGuest struct.
  • Added the decoderCompatibility setting to ParescClientConfig to relax some of the latency optimization for NVIDIA devices using the H.265 codec.
  • Added the decoderH265 setting to ParsecClientConfig so the client can prevent H.265 if not desired.
  • Removed the ParsecPostRenderCallback in favor of clearer return values from the ParsecClientRender family of functions.
  • The Parsec Web SDK has been overhauled to more closely match the native SDK, and additionally has been compiled to ES5 (from ES6) for easier integration.
  • Example code added for both client/host on Windows 32-bit.
  • Parsec API documentation update and simplified in /api.

Unity

  • Camera streamer now uses the correct camera.
  • Bootstrap scripts added for Parsec SDK binaries.
  • Game ID has now been made a camera property.
  • Fixed a bug that could cause a crash when clicking in certain areas.

The Parsec application uses the Parsec SDK internally, and improvements to the core technology that powers the SDK are tracked in our changelog at https://parsecgaming.com/changelog/.

2.0

4 years ago
  • Android example minSdkVersion lowered to 26
  • Android example updated to use lower latency rendering via JNI
  • Substantial Unity stability improvements and polish
  • Unity Rewired example added
  • Fixed a bug that could cause gamepad messages to stop working until after a client reconnect
  • Exclusive input disabled by default when in Desktop Mode
  • Improved internal client audio buffering with an additional audioBuffer configuration option in ParsecClientConfig
  • ParsecStatus trimmed of internal values that could not be returned by Parsec SDK functions
  • More ParsecKeymod values added
  • New ParsecClientPause function added allowing the client to stop receiving audio and video data from the host on demand
  • New ParsecGamepadState message added to submit and receive the entire gamepad state as an alternative to individual gamepad button/axis events
  • New MESSAGE_RELEASE message type added to instruct the host to release all keyboard, mouse, and gamepad buttons
  • New D3D9 client rendering function and frame submission function added
  • New D3D11 client rendering function added
  • All client rendering functions now take a pre-render and post-render callback, allowing the application to wait with a timeout then execute rendering commands just after the frame is received and just after the frame has been rendered. NULL may be passed if this is not necessary.
  • ParsecHostGetGuests now takes a uint32_t instead of a ParsecGuestState enum for C++ compatibility
  • Username/password authentication example readded to API scripts