📄 pesproducer.h
字号:
/* Copyright (C) 1995, Tektronix Inc. All Rights Reserved. * * Usage Restrictions * * License is granted to copy, to use, and to make and to use derivative * works for research and evaluation purposes only. * * Disclaimer of Warranty * * These software programs are available to the user without any license * fee or royalty on an "as is" basis. Tektronix Inc. disclaims any and * all warranties, whether express, implied, or statuary, including any * implied warranties or merchantability or of fitness for a particular * purpose. In no event shall the copyright-holder be liable for any * incidental, punitive, or consequential damages of any kind whatsoever * arising from the use of these programs. * * This disclaimer of warranty extends to the user of these programs and * user's customers, employees, agents, transferees, successors, and * assigns. * * The Tektronix Inc. does not represent or warrant that the programs * furnished hereunder are free of infringement of any third-party * patents.*//* PESProducer class */#ifndef pesproducer_h#define pesproducer_h#include "Producer.H"#include "PES.H"#include "InputPort.H"#include "Utilities.H"class PESProducer : public Producer{public: PESProducer (Encoder*, PES*); PES* pes; void send_pes_packet (); Boolean timestamp_lock; InputPort* esport;protected: virtual int fill_buffer ();private: void send_trick_mode (); void send_field_id (); void send_frequency_truncation (); void send_extension (); void send_payload ();};/* DOCUMENTATION PESProducers will write PES packets to OutputPorts. The member variable, oport, is inherited from the base class Producer. Payload for the PES packets is read from the InputPort, esport. The member esport can be either set by the application or it will be set internally. The actual payload bytes are ignored. Public members are: PESProducer (Encoder*, PES*); The only constuctor. PES* pes; pes is used as a template for PES packets. Some members of pes may be modified as the packet is generated (e.g. PTS and DTS, see the description of timestamp_lock below). void send_pes_packet (); This function can be called directly by an application but is also used internally by the member function fill_buffer to fill the internal Producer buffer, buf, with a PES packet. TState timestamp_lock; When set to TRUE prohibits the restamping of the PTS and DTS fields in the pes structure - whatever is in the pes structure is output regardless of the encoder's clock values. When set to FALSE the encoder is queried for the current system time (sys_time) and system end-to-end constant (sys_const) the PTS is set to their sum. The default is FALSE. InputPort* esport; Payload for the PES packet comes from here. If it has a null value when it is needed, then it is set with the call: esport = new IPortFromFile(pes->file_name, CYCLE);*/#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -