반응형
반응형
반응형

Buffer의 VideoMetadata 출력 방법

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);
  }
}

Buffer의 Metadata Count 출력 및 Metadata의 Type 출력 방법

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);
}

Buffer의 모든 Metadata 중에 LOCK 상태인 Metadata 찾는 방법

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));
    }
  }
}
반응형
반응형

gdb binary

일반적으로 gdb를 사용하려면 단순히 gdb binary 이렇게 간단하게 사용한다.
가끔 특정 library를 환경 변수를 주어 실해아 하는 경우가 있는데, 이럴 경우에는 env binary 이렇게 사용하는데,
gdb env binary 아니면 env gdb binary 이렇게 해도 안된다.
환경 변수는 gdb 에서 아래와 같이 사용한다.

binary 실행 예제

현재 폴더의 lib 폴더를 library path로 잡고 실행 예제

$ LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./lib binary 

gdb 로 실행 방법

환경 변수 없이 gdb로 실행

$ gdb binary

환경 변수 설정

(gdb) set environment LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:./lib

Run

(gdb) run
반응형
반응형

Ubuntu에 LFS 설치하기

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt install git-lfs

Repository에 git lfs 적용

git lfs install

Repository에 git lfs 해제

git lfs uninstall

LFS 적용하기

git lfs rm --cached FILE
git lfs track FILE

git add FILE
git commit FILE -m "MESSAGE"
git push

LFS 관리 해제

git lfs untrack FILE

LFS 관리 완전 해제

git lfs untrack FILE
git rm --cached FILE
git add FILE
git commit FILE
git push

LFS 적용 확인

${REPO ROOT}/.gitattributes에 추가되어 있음.

LFS 리스트 확인

git lfs ls-files

LFS 적용된 Repository clone

git clone URL
git lfs pull

참고 : https://newsight.tistory.com/330

반응형
반응형

 

Visual Studio Code가 업데이트가 되지 않고 있었다는것을 찾았다.

업데이트를 수작업을 실행하면 아래와 같이 오류가 발생한다.

 

아래와 같이 수정한 뒤에 정상적으로 업데이트가 되는 것을 확인했다.

1. APP의 위치 확인
    - APP의 위치가 Download의 상태에서 그대로 사용했다.
    - APP의 위치를 Application으로 이동시켰다.

2. 캐시 삭제
    - $ rm -rf ~/Library/Caches/com.microsoft.VSCode/*

 

 

반응형

+ Recent posts