blob: 61ef8959f4ddfa40e9d28a3c33f9f87d92cb283f [file] [log] [blame]
/* ------------------------------------------------------------------
* Copyright (C) 1998-2009 PacketVideo
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied.
* See the License for the specific language governing permissions
* and limitations under the License.
* -------------------------------------------------------------------
*/
// ============================================================(Auto)=
// FILE: h245_copier.c
//
// DESC: PER Copy routines for H.245
// -------------------------------------------------------------------
// Copyright (c) 1998- 2000, PacketVideo Corporation.
// All Rights Reserved.
// ===================================================================
// ========================================================
// D E E P C O P Y R O U T I N E S
// ========================================================
// ****************************************************
// ** NOTE: This file is not auto-generated. **
// ** Add copy routines as needed in the application **
// ****************************************************
#include "oscl_base.h"
#include "oscl_mem.h"
#include "per_headers.h"
#include "h245def.h"
#include "h245_encoder.h"
#include "h245_decoder.h"
#include "h245_copier.h"
//-------------------------------------------------------------
// Copy_DataType()
//
// Generic copy routine for an H.245 DataType.
//-------------------------------------------------------------
OSCL_EXPORT_REF PS_DataType
Copy_DataType(PS_DataType x)
{
PS_OutStream outstream;
PS_InStream instream;
PS_DataType y;
uint8 *data_origin;
/* Encode original (x) to Outstream */
outstream = NewOutStream();
Encode_DataType(x, outstream);
/* Decode copy (y) from Instream */
instream = ConvertOutstreamToInstream(outstream);
data_origin = instream->data; // Save the origin for later OSCL_DEFAULT_FREE
y = (PS_DataType) OSCL_DEFAULT_MALLOC(sizeof(S_DataType));
Decode_DataType(y, instream);
/* Free the bitstream */
OSCL_DEFAULT_FREE(data_origin);
OSCL_DEFAULT_FREE(instream);
/* Return copy */
return(y);
}
//-------------------------------------------------------------
// Copy_H223LogicalChannelParameters()
//
// Generic copy routine for an H.245 H223LogicalChannelParameters.
//-------------------------------------------------------------
OSCL_EXPORT_REF PS_H223LogicalChannelParameters
Copy_H223LogicalChannelParameters(PS_H223LogicalChannelParameters x)
{
PS_OutStream outstream;
PS_InStream instream;
PS_H223LogicalChannelParameters y;
uint8 *data_origin;
/* Encode original (x) to Outstream */
outstream = NewOutStream();
Encode_H223LogicalChannelParameters(x, outstream);
/* Decode copy (y) from Instream */
instream = ConvertOutstreamToInstream(outstream);
data_origin = instream->data; // Save the origin for later OSCL_DEFAULT_FREE
y = (PS_H223LogicalChannelParameters) OSCL_DEFAULT_MALLOC(sizeof(S_H223LogicalChannelParameters));
Decode_H223LogicalChannelParameters(y, instream);
/* Free the bitstream */
OSCL_DEFAULT_FREE(data_origin);
OSCL_DEFAULT_FREE(instream);
/* Return copy */
return(y);
}
//-------------------------------------------------------------
// Copy_MultiplexEntryDescriptor()
//
// Generic copy routine for an H.245 MultiplexEntryDescriptor.
//-------------------------------------------------------------
PS_MultiplexEntryDescriptor
Copy_MultiplexEntryDescriptor(PS_MultiplexEntryDescriptor x)
{
PS_OutStream outstream;
PS_InStream instream;
PS_MultiplexEntryDescriptor y;
uint8 *data_origin;
/* Encode original (x) to Outstream */
outstream = NewOutStream();
Encode_MultiplexEntryDescriptor(x, outstream);
/* Decode copy (y) from Instream */
instream = ConvertOutstreamToInstream(outstream);
data_origin = instream->data; // Save the origin for later OSCL_DEFAULT_FREE
y = (PS_MultiplexEntryDescriptor) OSCL_DEFAULT_MALLOC(sizeof(S_MultiplexEntryDescriptor));
Decode_MultiplexEntryDescriptor(y, instream);
/* Free the bitstream */
OSCL_DEFAULT_FREE(data_origin);
OSCL_DEFAULT_FREE(instream);
/* Return copy */
return(y);
}
//-------------------------------------------------------------
// Copy_ForwardLogicalChannelParameters()
//
// Generic copy routine for an H.245 ForwardLogicalChannelParameters.
//-------------------------------------------------------------
PS_ForwardLogicalChannelParameters
Copy_ForwardLogicalChannelParameters(PS_ForwardLogicalChannelParameters x)
{
PS_OutStream outstream;
PS_InStream instream;
PS_ForwardLogicalChannelParameters y;
uint8 *data_origin;
/* Encode original (x) to Outstream */
outstream = NewOutStream();
Encode_ForwardLogicalChannelParameters(x, outstream);
/* Decode copy (y) from Instream */
instream = ConvertOutstreamToInstream(outstream);
data_origin = instream->data; // Save the origin for later OSCL_DEFAULT_FREE
y = (PS_ForwardLogicalChannelParameters) OSCL_DEFAULT_MALLOC(sizeof(S_ForwardLogicalChannelParameters));
Decode_ForwardLogicalChannelParameters(y, instream);
/* Free the bitstream */
OSCL_DEFAULT_FREE(data_origin);
OSCL_DEFAULT_FREE(instream);
/* Return copy */
return(y);
}
//-------------------------------------------------------------
// Copy_ReverseLogicalChannelParameters()
//
// Generic copy routine for an H.245 ReverseLogicalChannelParameters.
//-------------------------------------------------------------
PS_ReverseLogicalChannelParameters
Copy_ReverseLogicalChannelParameters(PS_ReverseLogicalChannelParameters x)
{
PS_OutStream outstream;
PS_InStream instream;
PS_ReverseLogicalChannelParameters y;
uint8 *data_origin;
/* Encode original (x) to Outstream */
outstream = NewOutStream();
Encode_ReverseLogicalChannelParameters(x, outstream);
/* Decode copy (y) from Instream */
instream = ConvertOutstreamToInstream(outstream);
data_origin = instream->data; // Save the origin for later OSCL_DEFAULT_FREE
y = (PS_ReverseLogicalChannelParameters) OSCL_DEFAULT_MALLOC(sizeof(S_ReverseLogicalChannelParameters));
Decode_ReverseLogicalChannelParameters(y, instream);
/* Free the bitstream */
OSCL_DEFAULT_FREE(data_origin);
OSCL_DEFAULT_FREE(instream);
/* Return copy */
return(y);
}
PS_TerminalCapabilitySet Copy_TerminalCapabilitySet(PS_TerminalCapabilitySet x)
{
PS_OutStream outstream;
PS_InStream instream;
PS_TerminalCapabilitySet y;
uint8 *data_origin;
/* Encode original (x) to Outstream */
outstream = NewOutStream();
Encode_TerminalCapabilitySet(x, outstream);
/* Decode copy (y) from Instream */
instream = ConvertOutstreamToInstream(outstream);
data_origin = instream->data; // Save the origin for later OSCL_DEFAULT_FREE
y = (PS_TerminalCapabilitySet) OSCL_DEFAULT_MALLOC(sizeof(S_TerminalCapabilitySet));
Decode_TerminalCapabilitySet(y, instream);
/* Free the bitstream */
OSCL_DEFAULT_FREE(data_origin);
OSCL_DEFAULT_FREE(instream);
/* Return copy */
return(y);
}