Tags: livekit/client-sdk-esp32
Tags
Release 0.1.0 (#6) * Log signaling URL * Begin signaling implementation * Use fixed size field * Clear README * Logging * Forward signaling messages * Accept media provider * Pass media provider * Accept server URL and token via env * Refactor signaling message handling * Implement outgoing ping * Refactor * Create engine * Reorganize into separate components * Rename engine symbols * Use LiveKit signaling implementation * Use default peer implementation * Create engine with new room * Integrate into demo * Rename * Refactor signaling client * Use void return type * Refactor engine * Integrate refactored engine * Pass URL and token to connect method * Fix * Move protocol headers into proper directory * Error on unmatched * Remove unnecessary directives * Forward to engine by default * Implement set media provider * Create peer wrapper * Set nanopb options Move to component, enable malloc * Support setting ICE servers * Set protocol options Ignore generation for fields that are not yet supported and set some fields as dynamically allocated * Use dynamic allocation for sdp and candidateInit * Handle multiple ICE urls * Regenerate proto * Integrate peer in engine * Print string description of incoming signal res * Use calloc * Peer connect on join * Set explicit default peer config * Add pc tasks to thread scheduler * Rename * Perform time sync * Fix inverted condition * Use higher level events * Separate send methods * Disable extraneous logging * Add field number to log output * Update for refactored signal client * Refactor * Require peer default * Require JSON * DIsable extraneous logging * Add peer connect options * Expose client configuration options * Pass peer connect options * Fix syntax error * Automatically discard deprecated fields * Expose participant permissions * Clean up * Set to null after disconnect * Set media capabilities * Prefix generated protocol types All generated protocol types are now prefixed with "livekit_pb" instead of "livekit" for clarity and to prevent naming conflicts across components. * Rename * Expose room options * Open data channels once peer connected * Reorder arguments * Remove extra close invocation * Sandbox token generation * Fix memory leak * Give engine ownership of ICE servers * Use single method for sending requests * Remove method * Refactor ping task More robust join with event flags * Refactor component lifecycles * Rename symbols * Integrate media setup * Remove extraneous includes * Docs * Set options for AddTrackRequest * Remove unused fields * Set options for data packet types * Ignore field * Implement publish data * Handle incoming data packets * Docs * Support add track request * Update README * Document protocol component * Docs * Configure fields * Media setup * Disable AEC * Default playback volume * Build fix * Audio publish support * Update README * What I needed to make this work (#1) * Chage gitmodule to relative path * Cwilson/add token env var (#3) * move wifi, room, & participant config to env vars * update readme * Adds code to connect to LK with Token env var --------- Co-authored-by: David Chen <chenosaurus@gmail.com> * Rename * New connection for both peers * Use timer for ping * Simplify * Merge engine and signaling components * Create utils * Move build URL * Attach client info to signaling URL * Update protocol to v1.39.2 * Simplify * Comment * Logging * Send with portMAX_DELAY * Remove redefined macro * Disable auto subscribe * Logging * Fix compiler warning * Logging * Only require room and participant name when using sandbox * Increase WebSocket buffer size and timeouts * Sub troubleshoot * Refactor peer lifecycle Create peer on join, pass ICE server configuration. Currently, for the controlled role peer, ICE server configuration cannot be changed after creation * Enable room subscribe * Re-enable publisher PC * Allow TCP candidates * Remove condition * Reduce signaling reconnect timeout * Remove assertions * Remove comment * Pass subscriber media to engine * Support sub audio rendering * Set signaling options * Add check for subscriber primary * Enable AEC * Temporarily disable ICE servers * Ensure token is not empty * Handle leave requests from server * Move WebSocket options * Remove unused field * Improve peer state handling * Format * Add null check * Sandbox token enhancements * Consolidate components * Remove file prefixes Internal sources and headers do not need prefixing * Add extern C * Remove prefix * Add khash component * Initial support for RPC * Use application error code * Add RPC handlers to demo * Allow access to board LEDs This is a temporary workaround * Enable LED control via RPC * Add demo agent * Document agent * Relocate nanopb component * Relocate khash component * Relocate core components * Move third party deps to subdirectory * Move to examples directory * Rename example * Add linguist attributes * Add common as a dependency * Add README * Move deps to SDK component * Add fields to component manifest * Add khash component manifest and license * Add fields to nanopb component manifest * Add issue config * Add Doxygen configuration * Refine docs * Add doc build workflow * Deploy docs * Patch peer default * Refactor publish data * Add support for receiving data packets * Docs * Add esp-webrtc-solution submodule * Use deps from submodule * Remove vendored deps * Use esp-webrtc-solution v1.0.0 * Use esp-webrtc-solution HEAD * Use BSP for demo * Handle thread scheduler internally * Use I2C 0 for BSP * Remove string mapping function * Fix warnings * Room connection state * Remove unused types * Room and participant info * Doc style Remove @brief; not needed with current Doxygen configuration * Minor doc fixes * Fill in README * Add banner and repo nav * Set env vars * Use Kconfig for common component Replaces env config * Update example README * Fix undefined build var * Fix warning * Update READMEs * Remove unused files * Remove unused includes * Patch peer default * Simplify and document media setup * Remove repl setup Not needed for example * Remove macro from main * Remove loop from app main * Rename file * Trim build * Remove env vars from CI No longer needed * Minimum IDF version * Upgrade to esp-webrtc-solution v1.2 * Update IDF Docker tags * Rename step * Fix identifier * Data channel upgrade Use data channel options introduced in esp-webrtc-solution v1.2 * Log level * Rename file * Set board type with kconfig * Set default target * Reorganize READMEs * Enhance RPC handler * Add method to get connection state string * Docs * Enhance example * Remove unnecessary line * Reorder * Simplify * Remove p4 config for now * Move voice agent docs to dedicated README * Add disclaimer * Mark optional config fields * Use void return type * Make debug level * Don't persist URL * Form URL using asprintf * Add method to update subscription * Keep track of local participant * Add cast * Expose track details * Disable auto subscribe Only subscribe to the first remote audio track * Update lock file * Document known issues * Adjust heading levels * Fix broken links --------- Co-authored-by: Chris Wilson <yepher@users.noreply.github.com> Co-authored-by: David Chen <chenosaurus@gmail.com>