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