summaryrefslogtreecommitdiff
path: root/lib/avtp_pipeline/platform/Linux/intf_mpeg2ts_gst/mpeg2ts_gst_talker.ini
blob: 63a7d5da6c52896be6af7905b6544328910f1a8b (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
128
129
130
131
132
133
134
135
136
137
138
#####################################################################
# General Talker configuration
#####################################################################
# role: Sets the process as a talker or listener. Valid values are
# talker or listener
role = talker

# initial_state: Specify whether the talker or listener should be
# running or stopped on startup.  Valid values are running or stopped.
# If not specified, the default will depend on how the talker or
# listener is launched.
#initial_state = stopped

# stream_addr: Used on the listener and should be set to the 
# mac address of the talker.
#stream_addr = 00:25:64:48:ca:a8

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

# dest_addr: When SRP is being used the destination address only needs to
# be set in the talker.  If SRP is not being used the destination address
# needs to be set in both side 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.
# At this time they need to be locally administered and must be in the range
# of 91:E0:F0:00:FE:00 - 91:E0:F0:00:FE:FF.
# Typically :00 for the first stream, :01 for the second, etc.
dest_addr = 91:e0:f0:00:fe:00

# 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 = 2000

# 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 = 1

# 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 = 0

# Ethernet Interface Name. Only needed on some platforms when stack is built with no endpoint functionality
# ifname = eth0

# vlan_id: VLAN Identifier (1-4094). Used in "no endpoint" builds. Defaults to 2.
# vlan_id = 2

#####################################################################
# 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_mpeg2ts.so

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

# 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_mpeg2ts_gst.so

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

# intf_nv_file_name: The fully qualified file name used both the talker and listener.
#intf_nv_file_name = input.ts
#intf_nv_file_name = hbo_trailer_6ksd_converted.ts

# intf_nv_repeat: Continually repeat the file stream when running as a talker.
#intf_nv_repeat = 0

#gstreamer pipeline
intf_nv_gst_pipeline = v4l2src ! video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace ! omx_h264enc ! queue ! h264parse ! mpegtsmux m2ts_mode=true ! appsink name=avbsink