'개발, 웹, 블로그 > GStreamer 상식' 카테고리의 다른 글
Gstreamer Plugin 개발시 Valgrind를 이용하기 (0) | 2024.07.08 |
---|---|
GStreamer Plugin 개발 시에 Memory Leak 테스트 (0) | 2024.03.27 |
Gstreamer VideoMeta, Meta debugging 로그 (0) | 2024.01.18 |
Gstreamer Plugin 개발시 Valgrind를 이용하기 (0) | 2024.07.08 |
---|---|
GStreamer Plugin 개발 시에 Memory Leak 테스트 (0) | 2024.03.27 |
Gstreamer VideoMeta, Meta debugging 로그 (0) | 2024.01.18 |
static void print_video_meta_data_all(GstBuffer *buf) {
GstVideoMeta *meta = gst_buffer_get_video_meta(buf);
if (meta) {
g_print("Video Meta:\n");
g_print(" format: %s\n", gst_video_format_to_string(meta->format));
g_print(" width: %d\n", meta->width);
g_print(" height: %d\n", meta->height);
g_print(" flags: %d\n", meta->flags);
g_print(" n_planes: %d\n", meta->n_planes);
for (guint i = 0; i < meta->n_planes; i++) {
g_print(" stride[%d]: %d\n", i, meta->stride[i]);
g_print(" offset[%d]: %d\n", i, meta->offset[i]);
}
g_print(" map: %p\n", meta->map);
g_print(" unmap: %p\n", meta->unmap);
}
}
static void print_all_meta_info(GstBuffer *buf){
GstVideoMeta *meta = gst_buffer_get_video_meta(buf);
if (meta)
{
gst_print("Video Meta Count : %d\n", meta->n_planes);
}
GstMeta *m;
gpointer state = NULL;
guint meta_count = 0;
while ((m = gst_buffer_iterate_meta(buf, &state))) {
g_print("Metadata API type: %s\n", g_type_name(m->info->api));
meta_count++;
}
g_print("Meta count: %d\n", meta_count);
}
static void find_lock_meta(GstBuffer *buffer) {
GstMeta *meta;
gpointer state = NULL;
while ((meta = gst_buffer_iterate_meta(buffer, &state))) {
if (GST_META_FLAG_IS_SET(meta, GST_META_FLAG_LOCKED)) {
g_print("Found locked meta: %s\n", g_type_name(meta->info->api));
}
}
}
Gstreamer Plugin 개발시 Valgrind를 이용하기 (0) | 2024.07.08 |
---|---|
GStreamer Plugin 개발 시에 Memory Leak 테스트 (0) | 2024.03.27 |
Gstreamer Log Viewer (0) | 2024.01.25 |
일반적으로 gdb를 사용하려면 단순히 gdb binary 이렇게 간단하게 사용한다.
가끔 특정 library를 환경 변수를 주어 실해아 하는 경우가 있는데, 이럴 경우에는 env binary 이렇게 사용하는데,
gdb env binary 아니면 env gdb binary 이렇게 해도 안된다.
환경 변수는 gdb 에서 아래와 같이 사용한다.
현재 폴더의 lib 폴더를 library path로 잡고 실행 예제
$ LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./lib binary
$ gdb binary
(gdb) set environment LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:./lib
(gdb) run
ipmitool로 user를 추가 후에 web에 로그인 되지 않을 때 (0) | 2024.03.05 |
---|---|
[Git] LFS Cheat Sheet (0) | 2024.01.04 |
[Git] Push되지 않은 Local Commit 확인하기 (0) | 2024.01.04 |
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt install git-lfs
git lfs install
git lfs uninstall
git lfs rm --cached FILE
git lfs track FILE
git add FILE
git commit FILE -m "MESSAGE"
git push
git lfs untrack FILE
git lfs untrack FILE
git rm --cached FILE
git add FILE
git commit FILE
git push
${REPO ROOT}/.gitattributes에 추가되어 있음.
git lfs ls-files
git clone URL
git lfs pull
[gdb] 환경변수 적용하여 gdb 돌리기 (0) | 2024.01.11 |
---|---|
[Git] Push되지 않은 Local Commit 확인하기 (0) | 2024.01.04 |
Docker Container 내부에서 자신의 Container ID 확인 방법 (0) | 2023.10.26 |
Visual Studio Code가 업데이트가 되지 않고 있었다는것을 찾았다.
업데이트를 수작업을 실행하면 아래와 같이 오류가 발생한다.
아래와 같이 수정한 뒤에 정상적으로 업데이트가 되는 것을 확인했다.
1. APP의 위치 확인
- APP의 위치가 Download의 상태에서 그대로 사용했다.
- APP의 위치를 Application으로 이동시켰다.
2. 캐시 삭제
- $ rm -rf ~/Library/Caches/com.microsoft.VSCode/*
[Mac] Karabiner 개인적으로 맥 필수 프로그램 1 (0) | 2024.05.30 |
---|---|
Windows 환경에서 PATH Env 구성하기 (0) | 2023.10.05 |
Linux 새 SSD/HDD 추가하기 (0) | 2023.09.26 |