> For the complete documentation index, see [llms.txt](https://docs.aic-eec.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aic-eec.com/general/docker-os/application-gstreamer-on-devcontainer/step-3-testing-and-application-on-your-gst-element.md).

# STEP 3 : Testing and application on your gst element

1. we found print command on 244 and 245 that we found on latest testing and comment those line for define new process working on element.

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645016848854_image.png" alt=""><figcaption></figcaption></figure>

2\. We will create frame counter for mesure framnum on this element plugin.&#x20;

* a. The first define the Global variable for add on every loop, That’s mean when frame data pass throught this element is add 1 to counter and save file.

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645018375647_image.png" alt=""><figcaption></figcaption></figure>

* b.  Rebuild this element and inspect the data from gst-inspect

```bash
$ cd ../../ && ninja -C build
$ gst-inspect-1.0 videodatagst
```

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645018452274_image.png" alt=""><figcaption></figcaption></figure>

The name of this gstremer element is videodatagst.&#x20;

3\. Run the gst-element for watching the frame number

```bash
$ gst-launch-1.0 videotestsrc ! videodatagst ! fakesink
```

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645018659185_image.png" alt=""><figcaption></figcaption></figure>

We can lock framnum with declare framenum on gst-luanch-1.0 command

```bash
$ gst-launch-1.0 videotestsrc num-buffers=69 ! videodatagst ! fakesinkbas
```

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645018771221_image.png" alt=""><figcaption></figcaption></figure>

4\. Next, We will check size buffer when working.&#x20;

* declare [GstMapInfo](https://gstreamer.freedesktop.org/documentation/gstreamer/gstmemory.html#GstMapInfo). for get buffer data. but it can’t readable cause the data on buffer is similar like number of string. (can’t read directly)
* we will create data on 8 bit unsigned int for sort data on buffersize and print that data.
* save file.

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645019805243_image.png" alt=""><figcaption></figcaption></figure>

5\. Build the gst element and run it.

```bash
$ ninja -C build
$ gst-launch-1.0 videotestsrc num-buffers=69 ! videodatagst ! fakesink
```

6\. Next, we will check input data video of our element pad and print it.

* The first we will add GstCaps for declare variable get data on pad
* print caps.
* save file.

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645020520975_image.png" alt=""><figcaption></figcaption></figure>

7\. Re-build and run gst element

```bash
$ ninja -C build
$ gst-launch-1.0 videotestsrc num-buffers=69 ! videodatagst ! fakesink
```

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645020588445_image.png" alt=""><figcaption></figcaption></figure>

8\. Adjust the resolution of video to 4k and look and size buffer will increase and data on pad will change resolution.

```bash
$ gst-launch-1.0 videotestsrc num-buffers=69 ! video/x-raw,width=4096,height=2160 ! videodatagst ! fakesink
```

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645020770743_image.png" alt=""><figcaption></figcaption></figure>

From data log we found the changing is buffersize 326 → 4682 and resolution of video from 320x240 → 4096x2160(4k).


---

# 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://docs.aic-eec.com/general/docker-os/application-gstreamer-on-devcontainer/step-3-testing-and-application-on-your-gst-element.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.
