gstreamer を使用して、周波数、チャンネル数、幅、高さなどのビデオ情報を表示しようとしています。このコードを使用してそれを実行しますが、機能しません。Cでコーディングしています。
GstStructure *structure;
// guint32 fourcc;
const GValue *val;
GstPad *audiopad;
GstCaps *caps;
gint width;
gint height;
int fps_num = 1;
int fps_den = 1;
audiopad = gst_element_get_pad (queuevideo, "tee");
caps = gst_pad_get_caps (audiopad);
structure = gst_caps_get_structure (GST_CAPS (caps), 0);
gst_structure_get_int (structure, "width", &width);
gst_structure_get_int (structure, "height", &height);
val = gst_structure_get_value (structure, "framerate");
if (val) {
fps_num = gst_value_get_fraction_numerator (val);
fps_den = gst_value_get_fraction_denominator (val);
}
printf("la taille est de : %d*%d et la frequence de : %d/%d", width, height, fps_num, fps_den);