1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
/**
* @file dump.c Gstreamer playbin pipeline - dump utilities
*
* Copyright (C) 2010 Creytiv.com
*/
#include <re.h>
#include <baresip.h>
#include <gst/gst.h>
#include "gst.h"
void gst_dump_props(GstElement *g)
{
uint64_t u64;
gchar *strval;
double volume;
int n;
debug("Gst properties:\n");
g_object_get(g, "delay", &u64, NULL);
debug(" delay: %lu ns\n", u64);
g_object_get(g, "uri", &strval, NULL);
debug(" uri: %s\n", strval);
g_free(strval);
g_object_get(g, "suburi", &strval, NULL);
debug(" suburi: %s\n", strval);
g_free(strval);
g_object_get(g, "queue-size", &u64, NULL);
debug(" queue-size: %lu ns\n", u64);
g_object_get(g, "queue-threshold", &u64, NULL);
debug(" queue-threshold: %lu ns\n", u64);
g_object_get(g, "nstreams", &n, NULL);
debug(" nstreams: %d\n", n);
g_object_get(g, "volume", &volume, NULL);
debug(" Volume: %f\n", volume);
}
void gst_dump_caps(const GstCaps *caps)
{
GstStructure *s;
int rate, channels, width;
if (!caps)
return;
if (!gst_caps_get_size(caps))
return;
s = gst_caps_get_structure(caps, 0);
gst_structure_get_int(s, "rate", &rate);
gst_structure_get_int(s, "channels", &channels);
gst_structure_get_int(s, "width", &width);
info("gst: caps dump: %d Hz, %d channels, width=%d\n",
rate, channels, width);
}
|