GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MP4READRTPPACKET (3)

NAME

MP4ReadRtpPacket - Read an RTP packet

CONTENTS

SYNTAX

#include <mp4.h>

bool MP4ReadRtpPacket(
        MP4FileHandle hFile,
        MP4TrackId trackId,
        u_int16_t packetIndex,
        u_int8_t** ppBytes,
        u_int32_t* pNumBytes,
        u_int32_t ssrc = 0,
        bool includeHeader = true,
        bool includePayload = true
);

ARGUMENTS

hFile Specifies the mp4 file to which the operation applies.
trackId
  Specifies the hint track to which the operation applies.
packetIndex
  Specifies which packet is to be read. Valid values range from zero to the number of packets in this hint minus one.
pNumPackets
  Pointer to variable that will be hold the number of packets in the hint.
ppBytes
  Pointer to the pointer to the packet data. See DESCRIPTION for details on this argument.
pNumBytes
  Pointer to variable that will be hold the size in bytes of the packet.
ssrc Specifies the RTP SSRC to be used when constructing the RTP packet header.
includeHeader
  Specifies whether the library should include the standard 12 byte RTP header to the returned packet. The header is constructed from the information in the hint sample and the specified ssrc.
includePayload
  Specifies whether the library should include the packet payload (RTP payload header and media data) in the returned packet.

RETURN VALUES

Upon success, true (1). Upon an error, false (0).

DESCRIPTION

MP4ReadRtpPacket reads the specified packet from the current hint sample, as previously read by MP4ReadRtpHint().

The argument, ppBytes, allows for two possible approaches for buffering:

If the calling application wishes to handle its own buffering it can set *ppBytes to the buffer it wishes to use. The calling application is responsible for ensuring that the buffer is large enough to hold the packet. This can be done by using MP4GetRtpPayload() to retrieve the maximum packet payload size and hence how large the receiving buffer must be. Caveat: the value returned by MP4GetRtpPayload is the maxiumum payload size, if the RTP packet header is going to be included by the library this value should be incremented by 12.

If the value of *ppBytes is NULL, then an appropriately sized buffer is automatically malloc’ed for the sample data and *ppBytes set to this pointer. The calling application is responsible for free’ing this memory.

The application is expected to provide the value of the RTP SSRC identifier which uniquely identifies the originator of the media stream. For most applications, a single random value can be provided. The value should be the same for all packets for the duration of the RTP transmission. If the parameter "includeHeader" is false, then this value has no effect.

By default the library constructs the standard 12 byte RTP header from the information in the hint sample, and the specified SSRC. It then concatenates the RTP header with the packet payload, that is the RTP payload specific header and the media data for the packet. The "includeHeader" and "includePayload" parameters allow control over these steps, so that either just the packet payloads or just the RTP headers can be returned. A potential use of this feature is if the calling application wishes to construct an extended RTP header with non-standard options.

SEE ALSO

MP4(3) MP4ReadRtpHint(3)

Search for    or go to Top of page |  Section 3 |  Main Index


Cisco Systems Inc. MP4 (3) Version 0.9

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.