2017-12-11 29 views
0

엘레멘트에있는 모든 엘레멘트 속성을 recive 할 수 있다면? 요소를 나열 할 수는 있지만 문서를 읽은 후에도 알 수 없습니다. 어떻게 속성에 액세스 할 수 있습니까?Python-gst -> 엘레멘트의 모든 프라퍼티 나열하기

from gi.repository import Gst 
Gst.init() 
reg = Gst.Registry.get() 

for x in reg.get_plugin_list(): 
    print x.get_name(), x.get_version() 

목표는 같은 JSON 형식으로 속성과 요소 정보를 변환하는 것입니다 :

{ 
    "name": <plugin-name>, 
    "version": <plugin-version> 
    "properties": { 
     "<property-key>": { 
      "desc": <propertie-desc>, 
      "value": <propertie-value>, 
      "data-type": <propertie-type>, 
     } 
    } 
} 

가 감사합니다 얘들 아 당신이 찾고있는 기능을 제공합니다 g_object_class_list_properties()입니다

답변

0

각 요소가 지원하는 속성 목록입니다. 예 :

import gi 
gi.require_version('Gst', '1.0') 
from gi.repository import Gst, GObject 
Gst.init([]) 
e = Gst.ElementFactory.make("identity", None) 
e.list_properties() 
[<GParamString 'name'>, <GParamObject 'parent'>, <GParamBoolean 'qos'>, <GParamUInt 'sleep-time'>, <GParamInt 'error-after'>, <GParamFloat 'drop-probability'>, <GParamFlags 'drop-buffer-flags'>, <GParamInt 'datarate'>, <GParamBoolean 'silent'>, <GParamBoolean 'single-segment'>, <GParamString 'last-message'>, <GParamBoolean 'dump'>, <GParamBoolean 'sync'>, <GParamInt64 'ts-offset'>, <GParamBoolean 'check-imperfect-timestamp'>, <GParamBoolean 'check-imperfect-offset'>, <GParamBoolean 'signal-handoffs'>] 

gst-inspect-1.0뿐만 아니라 무엇도이다. the code을 참조하십시오.

+0

완벽하게 고맙습니다. 엘리먼트의 가능한 신호 목록을 얻는 것도 가능합니다. 소스 코드에서 "print_signal_info"함수가 있지만 파이썬에서 비슷한 함수를 찾을 수는 없습니다. 당신은 나를 위해 tipp가 있습니까?) –