> For the complete documentation index, see [llms.txt](https://emotiv.gitbook.io/emotivpro-v3/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://emotiv.gitbook.io/emotivpro-v3/lab-streaming-layer-lsl/lsl-inlet.md).

# LSL Inlet

Use the LSL Inlet mode to inject markers from 3rd party software to EEG data stream via EmotivPRO.‌

EmotivPRO can only receive markers after a recording on EmotivPRO has been started.

### LSL Inlet Configuration on EmotivPRO

| **SETTING**            | **DETAILS**                                                                                                                                                                          |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Marker Stream**      | Select the stream name that will allow 3rd party software to communicate and add markers into PRO. *Please note, we only support streams with channel count =1 or channel count = 3* |
| **Device ID**          | This field displays the Device ID of the third party device that can communicate with PRO                                                                                            |
| **Number of channels** | This field displays the number of channels being transmitted to PRO                                                                                                                  |
| **Transition time**    | This value displays the transmission time                                                                                                                                            |
| **Data Stream**        | This field displays the type of data stream that can communicate with PRO                                                                                                            |
| **Connect**            | This button initiates the third party connection                                                                                                                                     |
| **Disconnect**         | This button terminates the third party connection                                                                                                                                    |

###

### LSL Outlet configuration on  3rd party software

Currently, We support Marker injection with 2 options:

| Type                                                                                                                                 | Stream Info                              | Channel name list                             | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Simple Marker                                                                                                                        | type = 'Markers'  , *channel\_count = 1* | \["MarkerValue"]                              | <p>"MarkerValue" is value of Marker and it is Integer type. You can put Double type but EmotivPRO will extract integer part only before injecting to data stream.<br></p><p>EmotivPRO will get current Epoch time for Marker time.</p>                                                                                                                                                                                                                                         |
| <p>Marker with time for time synchronization</p><p></p><p>(\*) You should use this type when inject Marker from another machine.</p> | type = 'Markers'  , *channel\_count = 3* | \["MarkerTime", "MarkerValue", "CurrentTime"] | <p> "MarkerTime" is  Double type. It is time of Marker event. EmotivPRO will adjust the time for synchronization before injecting to data stream.<br></p><p>"MarkerValue" is value of Marker and it is Integer type. You can put Double type but EmotivPRO will extract integer part only before injecting to data stream.<br></p><p>"CurrentTime": is current Epoch time when the marker is pushed to LSL stream. The time is used to synchronize time between 2 machines</p> |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://emotiv.gitbook.io/emotivpro-v3/lab-streaming-layer-lsl/lsl-inlet.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
