summaryrefslogtreecommitdiff
path: root/lib/avtp_pipeline/platform/Linux/intf_h264_gst/h264_gst_talker.ini
blob: 87569675a7e491822aa6b8b30cc83d0af5222dfd (plain)
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#####################################################################
# General Talker configuration
#####################################################################
# role: Sets the process as a talker or listener. Valid values are
# talker or listener
role = talker

# stream_addr: Used on the listener and should be set to the 
# mac address of the talker.
stream_addr = ba:bc:1a:ba:bc:1a

# stream_uid: The unique stream ID. The talker and listener must
# both have this set the same.
stream_uid = 55

# dest_addr: destination multicast address for the stream.
#
# If using SRP and MAAP, dynamic destination addresses are generated 
# automatically by the talker and passed to the listner, and don't
# need to be configured.
#
# Without MAAP, locally administered (static) addresses must be
# configured.  Thouse addresses are in the range of:
#     91:E0:F0:00:FE:00 - 91:E0:F0:00:FE:FF.
# Typically use :00 for the first stream, :01 for the second, etc.
#
# When SRP is being used the static destination address only needs to
# be set in the talker.  If SRP is not being used the destination address
# needs to be set (to the same value) in both the talker and listener.
#
# The destination is a multicast address, not a real MAC address, so it
# does not match the talker or listener's interface MAC.  There are 
# several pools of those addresses for use by AVTP defined in 1722.
#
dest_addr = 91:e0:f0:00:fe:55

# max_interval_frames: The maximum number of packets that will be sent during 
# an observation interval. This is only used on the talker.
max_interval_frames = 1

# sr_class: A talker only setting. Values are either A or B. If not set an internal 
# default is used.
sr_class = B

# sr_rank: A talker only setting. If not set an internal default is used.
#sr_rank = 1

# max_transit_usec: Allows manually specifying a maximum transit time. 
# On the talker this value is added to the PTP walltime to create the AVTP Timestamp.
# On the listener this value is used to validate an expected valid timestamp range.
# Note: For the listener the map_nv_item_count value must be set large enough to 
# allow buffering at least as many AVTP packets that can be transmitted  during this 
# max transit time.
max_transit_usec = 50000

# max_transmit_deficit_usec: Allows setting the maximum packet transmit rate deficit that will
# be recovered when a talker falls behind. This is only used on a talker side. When a talker
# can not keep up with the specified transmit rate it builds up a deficit and will attempt to 
# make up for this deficit by sending more packets. There is normally some variability in the 
# transmit rate because of other demands on the system so this is expected. However, without this
# bounding value the deficit could grew too large in cases such where more streams are started 
# than the system can support and when the number of streams is reduced the remaining streams 
# will attempt to recover this deficit by sending packets at a higher rate. This can cause a problem
# at the listener side and significantly delay the recovery time before media playback will return 
# to normal. Typically this value can be set to the expected buffer size (in usec) that listeners are 
# expected to be buffering. For low latency solutions this is normally a small value. For non-live 
# media playback such as video playback the listener side buffers can often be large enough to held many
# seconds of data.
max_transmit_deficit_usec = 50000

# internal_latency: Allows mannually specifying an internal latency time. This is used
# only on the talker.
#internal_latency = 0

# max_stale: The number of microseconds beyond the presentation time that media queue items will be purged 
# because they are too old (past the presentation time). This is only used on listener end stations.
# Note: needing to purge old media queue items is often a sign of some other problem. For example: a delay at 
# stream startup before incoming packets are ready to be processed by the media sink. If this deficit 
# in processing or purging the old (stale) packets is not handled, syncing multiple listeners will be problematic.
#max_stale = 1000

# raw_tx_buffers: The number of raw socket transmit buffers. Typically 4 - 8 are good values.
# This is only used by the talker. If not set internal defaults are used.
raw_tx_buffers = 100

# raw_rx_buffers: The number of raw socket receive buffers. Typically 50 - 100 are good values.
# This is only used by the listener. If not set internal defaults are used.
#raw_rx_buffers = 100

# report_seconds: How often to output stats. Defaults to 10 seconds. 0 turns off the stats. 
report_seconds = 1

#####################################################################
# Mapping module configuration
#####################################################################
# map_lib: The name of the library file (commonly a .so file) that 
#  implements the Initialize function.  Comment out the map_lib name
#  and link in the .c file to the openavb_tl executable to embed the mapper
#  directly into the executable unit. There is no need to change anything
#  else. The Initialize function will still be dynamically linked in.
map_lib = ./libopenavb_map_h264.so

# map_fn: The name of the initialize function in the mapper.
map_fn = openavbMapH264Initialize

# map_nv_item_count: The number of media queue elements to hold.
map_nv_item_count = 20

# map_nv_tx_rate: Transmit rate
# If not set default of the talker class will be used.
#map_nv_tx_rate = 2000

#####################################################################
# Interface module configuration
#####################################################################
# intf_lib: The name of the library file (commonly a .so file) that 
#  implements the Initialize function.  Comment out the intf_lib name
#  and link in the .c file to the openavb_tl executable to embed the interface
#  directly into the executable unit. There is no need to change anything
#  else. The Initialize function will still be dynamically linked in.
# intf_fn: The name of the initialize function in the interface.
intf_lib = ./libopenavb_intf_h264_gst.so

# intf_fn: The name of the initialize function in the interface.
intf_fn = openavbIntfH264RtpGstInitialize

intf_nv_gst_pipeline = filesrc location=/home/marcin/ser02.h264 ! video/x-h264 ! typefind ! h264parse ! rtph264pay ssrc=5 timestamp-offset=1 seqnum-offset=1 name=avbrtppay ! appsink name=avbsink