aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorprasanth kamuju <prasanth.kamuju@linaro.org>2014-09-09 11:17:14 +0530
committerprasanth kamuju <prasanth.kamuju@linaro.org>2014-09-09 11:17:14 +0530
commit5ba77bd3cbfbb781e61290c77f35296f7182f692 (patch)
tree7ce26465b7c705ce3ab0ebb21bb19a3521ff7800
parent7238cdc96b628b12ada2accbf0b3a6be5f377765 (diff)
STOP the video decoder and free the ION buffers at the END
Once decoding is completed, STOP the video decoder core and unmap the ION buffers and then free those buffers. Along with it, removed extra buffers.
-rw-r--r--src/gstqcvideodec.c164
1 files changed, 102 insertions, 62 deletions
diff --git a/src/gstqcvideodec.c b/src/gstqcvideodec.c
index 5a2239f..c3e385a 100644
--- a/src/gstqcvideodec.c
+++ b/src/gstqcvideodec.c
@@ -146,12 +146,11 @@ static GstFlowReturn gst_qcvideodec_finish(GstVideoDecoder *decoder)
ioctl_msg.out = NULL;
if(Completed_frm_decode == TRUE)
{
- g_print("\n\nReceived all the decoded output buffers : ");
+ // g_print("\n\nReceived all the decoded output buffers : ");
GST_VIDEO_DECODER_STREAM_UNLOCK (dec);
break;
}
- if (ioctl(dec->video_driver_fd,VDEC_IOCTL_DECODE_FRAME,
- &ioctl_msg) < 0)
+ if (ioctl(dec->video_driver_fd,VDEC_IOCTL_DECODE_FRAME,&ioctl_msg) < 0)
{
g_print("\n\nVDEC_IOCTL_DECODE_FRAME Failed \n");
break;
@@ -168,7 +167,7 @@ static gboolean gst_qcvideodec_open (GstVideoDecoder * decoder)
pthread_mutexattr_t init_values;
struct video_queue_context *queue_ptr = NULL;
Gstqcvideodec *dec = GST_QCVIDEODEC (decoder);
- g_print("\n gst_qcvideodec_open Enter: ### \n");
+ // g_print("\n gst_qcvideodec_open Enter: ### \n");
/* Open ion drive for memory allocations */
dec->m_vdec_ion_devicefd = open ("/dev/ion", O_RDONLY);
@@ -195,7 +194,7 @@ static gboolean gst_qcvideodec_open (GstVideoDecoder * decoder)
pthread_mutexattr_init (&init_values);
pthread_mutex_init (&queue_ptr->mutex,&init_values);
- g_print("\n create Queues");
+ //g_print("\n create Queues");
queue_ptr->ptr_cmdq = (struct video_msgq*) \
calloc (sizeof (struct video_msgq),
queue_ptr->commandq_size);
@@ -209,26 +208,67 @@ static gboolean gst_qcvideodec_open (GstVideoDecoder * decoder)
{
g_print("\n ERROR : Not able to create Queue ------\n");
}
- g_print("\n create Threads");
+ // g_print("\n create Threads");
/*Create two threads*/
if ( (pthread_create (&dec->videothread_id,NULL,video_thread,dec) < 0) ||
(pthread_create (&dec->asyncthread_id,NULL,async_thread,dec) < 0))
{
g_print("\n ERROR : Not able to create threads ------\n");
}
- g_print("\n Init success ------\n");
-
+
return TRUE;
}
static gboolean gst_qcvideodec_start (GstVideoDecoder * decoder)
{
- g_print("\n gst_qcvideodec_start ### \n");
+ // g_print("\n gst_qcvideodec_start ### \n");
return TRUE;
}
static gboolean gst_qcvideodec_stop (GstVideoDecoder * decoder)
{
+ struct vdec_ioctl_msg ioctl_msg = {NULL,NULL};
+ enum vdec_bufferflush flush_dir = VDEC_FLUSH_TYPE_INPUT;
Gstqcvideodec *dec = GST_QCVIDEODEC (decoder);
- g_print("\n gst_qcvideodec_stop ### \n");
+
+ //g_print("\n -------------- gst_qcvideodec_stop --------------\n");
+
+ ioctl_msg.in = &flush_dir;
+ ioctl_msg.out = NULL;
+
+ if (ioctl(dec->video_driver_fd,VDEC_IOCTL_CMD_FLUSH,
+ &ioctl_msg) < 0)
+ {
+ g_print("\n Flush input failed");
+ }
+ else
+ {
+ sem_wait (&dec->sem_synchronize);
+ }
+
+ flush_dir = VDEC_FLUSH_TYPE_OUTPUT;
+ ioctl_msg.in = &flush_dir;
+ ioctl_msg.out = NULL;
+
+ if (ioctl(dec->video_driver_fd,VDEC_IOCTL_CMD_FLUSH,
+ &ioctl_msg) < 0)
+ {
+ g_print("\n Flush output failed");
+ }
+ else
+ {
+ sem_wait (&dec->sem_synchronize);
+ }
+
+ // g_print("\n -------------- I/p and O/p ION buffers FLUSHED properly --------------");
+ if (ioctl(dec->video_driver_fd,VDEC_IOCTL_CMD_STOP,
+ NULL) < 0)
+ {
+ g_print("\n Stop failed");
+ }
+ else
+ {
+ sem_wait (&dec->sem_synchronize);
+ g_print("\n -------------- VDEC driver STOPPED successfully --------------\n");
+ }
if (dec->input_state) {
gst_video_codec_state_unref (dec->input_state);
@@ -254,8 +294,7 @@ static gboolean gst_qcvideodec_set_format (GstVideoDecoder * decoder,GstVideoCod
GstVideoFormat fmt = GST_VIDEO_FORMAT_NV12_64Z32;
- g_print("\n gst_qcvideodec_set_format Enter: ### \n");
-
+
/* Keep a copy of the input state */
if (dec->input_state)
gst_video_codec_state_unref(dec->input_state);
@@ -271,7 +310,7 @@ static gboolean gst_qcvideodec_set_format (GstVideoDecoder * decoder,GstVideoCod
gst_pad_set_caps (dec->srcpad, caps);
gst_caps_unref (caps);
g_print("\n gst_qcvideodec_set_format Enter: caps_data : %s \n",caps_data);
- g_print("\n gst_qcvideodec_set_format Enter: data_size : %d \n",minfo.size);
+ // g_print("\n gst_qcvideodec_set_format Enter: data_size : %d \n",minfo.size);
g_print("\n gst_qcvideodec_set_format Enter: width : %d , Height : %d \n",Vinfo->width,Vinfo->height);
// dec->decoder_format = VDEC_CODECTYPE_H264;
@@ -287,7 +326,7 @@ static gboolean gst_qcvideodec_set_format (GstVideoDecoder * decoder,GstVideoCod
g_print("\n Set codec type failed");
return -1;
}
- g_print("\n************ MPEG4 codec was seT***************************\n");
+ //g_print("\n************ MPEG4 codec was seT***************************\n");
/*Set the output format*/
ioctl_msg.in = &output_format;
ioctl_msg.out = NULL;
@@ -312,9 +351,8 @@ static gboolean gst_qcvideodec_set_format (GstVideoDecoder * decoder,GstVideoCod
g_print("\n Set Resolution failed");
return -1;
}
- g_print("\n After Set Resolution");
- g_print("\n Query Input bufffer requirements");
+ // g_print("\n Query Input bufffer requirements");
/*Get the Buffer requirements for input and output ports*/
dec->input_buffer.buffer_type = VDEC_BUFFER_TYPE_INPUT;
ioctl_msg.in = NULL;
@@ -327,7 +365,7 @@ static gboolean gst_qcvideodec_set_format (GstVideoDecoder * decoder,GstVideoCod
return -1;
}
- g_print("\n input Size=%d min count =%d actual count = %d, maxcount = %d,alignment = %d,buf_poolid= %d,meta_buffer_size=%d",\
+ g_print("\n input Size=%d min count =%d actual count = %d, maxcount = %d,alignment = %d,buf_poolid= %d,meta_buffer_size=%d \n",\
dec->input_buffer.buffer_size,\
dec->input_buffer.mincount,\
dec->input_buffer.actualcount,\
@@ -350,7 +388,7 @@ static gboolean gst_qcvideodec_set_format (GstVideoDecoder * decoder,GstVideoCod
}
- g_print("\n Query output bufffer requirements");
+ // g_print("\n Query output bufffer requirements");
dec->output_buffer.buffer_type = VDEC_BUFFER_TYPE_OUTPUT;
ioctl_msg.in = NULL;
ioctl_msg.out = &dec->output_buffer;
@@ -362,7 +400,7 @@ static gboolean gst_qcvideodec_set_format (GstVideoDecoder * decoder,GstVideoCod
return -1;
}
- g_print("\n output_buffer Size=%d min count =%d actual count = %d, maxcount = %d,alignment = %d,buf_poolid= %d,meta_buffer_size=%d",\
+ g_print("\n output_buffer Size=%d min count =%d actual count = %d, maxcount = %d,alignment = %d,buf_poolid= %d,meta_buffer_size=%d\n",\
dec->output_buffer.buffer_size,\
dec->output_buffer.mincount,\
dec->output_buffer.actualcount,\
@@ -391,7 +429,6 @@ static gboolean gst_qcvideodec_set_format (GstVideoDecoder * decoder,GstVideoCod
gst_qcvideodec_set_buffers (dec);
/* send the header info */
memcpy(dec->ptr_inputbuffer [0].bufferaddr,minfo.data,minfo.size);
- g_print("\n Read Frame from File szie = %u",minfo.size);
frameinfo.bufferaddr = dec->ptr_inputbuffer [0].bufferaddr;
frameinfo.offset = 0;
frameinfo.pmem_fd = dec->ptr_inputbuffer [0].pmem_fd;
@@ -401,7 +438,7 @@ static gboolean gst_qcvideodec_set_format (GstVideoDecoder * decoder,GstVideoCod
/*TODO: Time stamp needs to be updated*/
ioctl_msg.in = &frameinfo;
ioctl_msg.out = NULL;
- g_print ("\n input frame Client Data address = %p and buff add : %p",frameinfo.client_data,frameinfo.bufferaddr);
+ //g_print ("\n input frame Client Data address = %p and buff add : %p",frameinfo.client_data,frameinfo.bufferaddr);
if (ioctl (dec->video_driver_fd,VDEC_IOCTL_DECODE_FRAME,
&ioctl_msg) < 0)
{
@@ -434,7 +471,7 @@ static gboolean gst_qcvideodec_set_buffers (Gstqcvideodec * decoder)
return -1;
}
- g_print("\n Start Issued successfully waiting for Start Done");
+ //g_print("\n Start Issued successfully waiting for Start Done");
/*Wait for Start command response*/
sem_wait (&dec->sem_synchronize);
@@ -451,7 +488,7 @@ static gboolean gst_qcvideodec_set_buffers (Gstqcvideodec * decoder)
fillbuffer.buffer.pmem_fd =
dec->ptr_outputbuffer [i].pmem_fd;
fillbuffer.client_data = (void *)&dec->ptr_respbuffer[i];
- g_print ("\n Client Data on output = %p and bufferaddr = %p",fillbuffer.client_data,dec->ptr_outputbuffer [i].bufferaddr);
+ // g_print ("\n Client Data on output = %p and bufferaddr = %p",fillbuffer.client_data,dec->ptr_outputbuffer [i].bufferaddr);
ioctl_msg.in = &fillbuffer;
ioctl_msg.out = NULL;
@@ -463,17 +500,21 @@ static gboolean gst_qcvideodec_set_buffers (Gstqcvideodec * decoder)
}
i++;
}
- g_print("\n output buffers set properly");
+ // g_print("\n output buffers set properly");
return TRUE;
}
static gboolean gst_qcvideodec_close (GstVideoDecoder *decoder)
{
Gstqcvideodec *dec = GST_QCVIDEODEC (decoder);
- if (dec == NULL)
+ if (dec == NULL)
{
return -1;
}
+ free_buffer(VDEC_BUFFER_TYPE_INPUT,dec);
+ free_buffer(VDEC_BUFFER_TYPE_OUTPUT,dec);
+ // g_print("\n -------------- I/p and O/p ION freed successfully -------------- \n");
+
if (dec->queue_context.ptr_cmdq)
{
free (dec->queue_context.ptr_cmdq);
@@ -489,7 +530,7 @@ static gboolean gst_qcvideodec_close (GstVideoDecoder *decoder)
sem_destroy (&dec->sem_synchronize);
pthread_mutex_destroy(&dec->queue_context.mutex);
- g_print("\n all threads are closed\n");
+ g_print("\n ************ qcvideodec is closed and return *********** \n");
return TRUE;
}
@@ -499,7 +540,7 @@ static GstFlowReturn gst_qcvideodec_handle_frame (GstVideoDecoder *decoder_cxt,G
GstFlowReturn res;
Gstqcvideodec *dec = GST_QCVIDEODEC (decoder_cxt);
GST_VIDEO_DECODER_STREAM_UNLOCK (decoder_cxt);
- g_print("\n gst_qcvideodec_handle_frame Enter with frame number : %d \n",frame->system_frame_number);
+ //g_print("\n gst_qcvideodec_handle_frame Enter with frame number : %d \n",frame->system_frame_number);
GST_VIDEO_DECODER_STREAM_LOCK (decoder_cxt);
res = gst_qcvideodec_decode_buffer (dec, frame->input_buffer, frame);
@@ -552,7 +593,7 @@ int free_buffer ( enum vdec_buffer buffer_dir,Gstqcvideodec *decoder_context)
struct vdec_ioctl_msg ioctl_msg = {NULL,NULL};
struct vdec_setbuffer_cmd setbuffers;
Gstqcvideodec *dec = GST_QCVIDEODEC (decoder_context);
- g_print("\nfree_buffer is called :: \n");
+
if (dec == NULL)
{
return -1;
@@ -575,6 +616,7 @@ int free_buffer ( enum vdec_buffer buffer_dir,Gstqcvideodec *decoder_context)
free (dec->ptr_inputbuffer);
dec->ptr_inputbuffer = NULL;
}
+
else if ( buffer_dir == VDEC_BUFFER_TYPE_OUTPUT )
{
buffercount = dec->output_buffer.actualcount;
@@ -670,8 +712,8 @@ static int ion_allocate_buffer (enum vdec_buffer buffer_dir,Gstqcvideodec *decod
g_print ("\nallocate_buffer: decode_context->ptr_inputbuffer is set");
return -1;
}
- g_print("\n Allocate i/p buffer Header: Cnt(%d) Sz(%d) \n",
- decode_context->input_buffer.actualcount,decode_context->input_buffer.buffer_size);
+ /* g_print("\n Allocate i/p buffer Header: Cnt(%d) Sz(%d) \n",
+ decode_context->input_buffer.actualcount,decode_context->input_buffer.buffer_size); */
decode_context->ptr_inputbuffer = (struct vdec_bufferpayload *) \
calloc ((sizeof (struct vdec_bufferpayload)),decode_context->input_buffer.actualcount);
@@ -711,7 +753,7 @@ static int ion_allocate_buffer (enum vdec_buffer buffer_dir,Gstqcvideodec *decod
alloc_data->handle = NULL;
return -1;
}
- g_print("ION memory allocated successfully \n");
+ // g_print("ION memory allocated successfully \n");
fd_data->handle = alloc_data->handle;
rc = ioctl(fd,ION_IOC_MAP,fd_data);
if (rc) {
@@ -749,16 +791,16 @@ static int ion_allocate_buffer (enum vdec_buffer buffer_dir,Gstqcvideodec *decod
g_print("\n Set Buffers Failed");
return -1;
}
- g_print("\ninput ion_alloc: buf_addr = %p, len = %d, size = %d, \n",\
- buf_addr,decode_context->input_buffer.buffer_size,decode_context->input_buffer.buffer_size);
+ /* g_print("\ninput ion_alloc: buf_addr = %p, len = %d, size = %d, \n",\
+ buf_addr,decode_context->input_buffer.buffer_size,decode_context->input_buffer.buffer_size);*/
}/* for loop*/
- g_print ("\nInput buffers ion_allocate_buffer: Success");
+ // g_print ("\nInput buffers ion_allocate_buffer: Success");
} /* VDEC_BUFFER_TYPE_INPUT */
if( buffer_dir == VDEC_BUFFER_TYPE_OUTPUT )
{
- g_print("\n\nAllocate o/p buffer Header: Cnt(%d) Sz(%d)",
- decode_context->output_buffer.actualcount,
- decode_context->output_buffer.buffer_size);
+ /* g_print("\n\nAllocate o/p buffer Header: Cnt(%d) Sz(%d)",\
+ decode_context->output_buffer.actualcount,\
+ decode_context->output_buffer.buffer_size);*/
decode_context-> ptr_outputbuffer = (struct vdec_bufferpayload *)\
calloc (sizeof(struct vdec_bufferpayload),
@@ -834,18 +876,18 @@ static int ion_allocate_buffer (enum vdec_buffer buffer_dir,Gstqcvideodec *decod
g_print("\n Set Buffers Failed");
return -1;
}
- g_print("\noutput ion_alloc: buf_addr = %p, len = %d, size = %d, \n",\
- buf_addr,decode_context->output_buffer.buffer_size,decode_context->output_buffer.buffer_size);
+ /* g_print("\noutput ion_alloc: buf_addr = %p, len = %d, size = %d, \n",\
+ buf_addr,decode_context->output_buffer.buffer_size,decode_context->output_buffer.buffer_size);*/
} /* for loop */
- g_print ("\nprasanth --------- output ion_allocate_buffer: Success");
+ // g_print ("\nprasanth --------- output ion_allocate_buffer: Success");
} /* VDEC_BUFFER_TYPE_OUTPUT */
return 1;
}
int vdec_alloc_h264_mv(Gstqcvideodec *decoder_cxt)
{
int pmem_fd = -1,fd=-1,rc=-1;
- int size, alignment;
+ int size;
void *buf_addr = NULL;
struct vdec_ioctl_msg ioctl_msg;
// struct pmem_allocation allocation;
@@ -871,14 +913,14 @@ int vdec_alloc_h264_mv(Gstqcvideodec *decoder_cxt)
return -1;
}
- g_print("\nGET_MV_BUFFER_SIZE returned: Size: %d and alignment: %d",
- mv_buff_size.size, mv_buff_size.alignment);
+ /* g_print("\nGET_MV_BUFFER_SIZE returned: Size: %d and alignment: %d",\
+ mv_buff_size.size, mv_buff_size.alignment);*/
size = mv_buff_size.size * decode_context->output_buffer.actualcount;
- alignment = mv_buff_size.alignment;
+ // alignment = mv_buff_size.alignment;
- g_print("\nEntered vdec_alloc_h264_mv act_width: %d, act_height: %d, size: %d, alignment %d",
- decode_context->video_resoultion.frame_width, decode_context->video_resoultion.frame_height,size,alignment);
+ /* g_print("\nEntered vdec_alloc_h264_mv act_width: %d, act_height: %d, size: %d, alignment %d",\
+ decode_context->video_resoultion.frame_width, decode_context->video_resoultion.frame_height,size,alignment);*/
struct ion_allocation_data *alloc_data = &decode_context->h264_mv.ion_alloc_data;
struct ion_fd_data *fd_data = &decode_context->h264_mv.fd_ion_data;
@@ -992,7 +1034,7 @@ int allocate_reconfig_buff(Gstqcvideodec *dec)
fillbuffer.buffer.pmem_fd =
decode_context->ptr_outputbuffer [i].pmem_fd;
fillbuffer.client_data = (void *)&decode_context->ptr_respbuffer[i];
- g_print ("\n Client Data on output = %p and bufferaddr = %p",fillbuffer.client_data,decode_context->ptr_outputbuffer [i].bufferaddr);
+ // g_print ("\n Client Data on output = %p and bufferaddr = %p",fillbuffer.client_data,decode_context->ptr_outputbuffer [i].bufferaddr);
ioctl_msg.in = &fillbuffer;
ioctl_msg.out = NULL;
@@ -1024,7 +1066,6 @@ static void* video_thread (void *context)
GstVideoCodecFrame *g_frame = NULL ;
int frm_count = 0;
- g_print("\n video thread created successfully");
if (decode_context == NULL)
{
g_print("\n video thread recieved NULL context");
@@ -1049,12 +1090,11 @@ static void* video_thread (void *context)
case VDEC_MSG_RESP_OUTPUT_FLUSHED:
break;
case VDEC_MSG_RESP_START_DONE:
- g_print("\n recived start done command");
+ // g_print("\n recived start done command");
sem_post (&decode_context->sem_synchronize);
break;
case VDEC_MSG_RESP_STOP_DONE:
- g_print("\n recieved stop done");
sem_post (&decode_context->sem_synchronize);
break;
@@ -1068,7 +1108,7 @@ static void* video_thread (void *context)
// break;
}
/*To-do read the next frame*/
- g_print("\nVDEC_MSG_RESP_INPUT_BUFFER_DONE Input buffer done for index ");
+ //g_print("\nVDEC_MSG_RESP_INPUT_BUFFER_DONE Input buffer done for index ");
sem_post(&decode_context->sem_input_buf_done);
// GST_VIDEO_DECODER_STREAM_LOCK (decoder_cxt);
@@ -1109,14 +1149,14 @@ static void* video_thread (void *context)
if (outputbuffer->len == 0)
{
- g_print("\n Filled Length is zero Close decoding");
Completed_frm_decode = TRUE;
+ g_print("\n -------------- Total decoded buffers are : %d -------------- \n",frm_count);
sem_post (&decode_context->sem_synchronize);
// break;
}
g_frame = gst_video_decoder_get_frame(GST_VIDEO_DECODER(decode_context),frm_count);
- g_print("\n VDEC_MSG_RESP_OUTPUT_BUFFER_DONE for the buffer index : %d and len : %d\n",frm_count,outputbuffer->len);
+ // g_print("\n VDEC_MSG_RESP_OUTPUT_BUFFER_DONE for the buffer index : %d and len : %d\n",frm_count,outputbuffer->len);
if(g_frame != NULL)
{
ret = gst_video_decoder_allocate_output_frame(GST_VIDEO_DECODER(decode_context),g_frame);
@@ -1150,12 +1190,11 @@ static void* video_thread (void *context)
break;
case VDEC_MSG_RESP_FLUSH_INPUT_DONE:
- g_print("\n Flush input complete");
sem_post (&decode_context->sem_synchronize);
break;
case VDEC_MSG_RESP_FLUSH_OUTPUT_DONE:
- g_print("\n ---------- Flush output complete -----------------");
+ // g_print("\n -------------- Flush output complete -------------- ");
if(reconfig == 1)
{
allocate_reconfig_buff(decode_context);
@@ -1171,7 +1210,7 @@ static void* video_thread (void *context)
if (queueitem->cmd == VDEC_MSG_RESP_STOP_DONE)
{
- g_print("\n Playback has ended thread will exit");
+ // g_print(" \n -------------- video_thread is going to close -------------- \n");
return NULL;
}
}
@@ -1200,7 +1239,7 @@ static void* async_thread (void *context)
return NULL;
}
// decode_context = (struct video_decoder_context *) context;
- g_print("\n Entering the async thread");
+ // g_print("\n Entering the async thread");
while (1)
{
@@ -1261,7 +1300,7 @@ static void* async_thread (void *context)
// g_print("\n\nVDEC_MSG_RESP_OUTPUT_BUFFER_DONE # 3\n");
break;
default:
- g_print("\nIn Default of get next message %d",vdec_msg.msgcode);
+ // g_print("\nIn Default of get next message %d",vdec_msg.msgcode);
queueitem.cmd = vdec_msg.msgcode;
queueitem.status = vdec_msg.status_code;
queueitem.clientdata = NULL;
@@ -1282,6 +1321,7 @@ static void* async_thread (void *context)
if (vdec_msg.msgcode == VDEC_MSG_RESP_STOP_DONE)
{
/*Thread can exit at this point*/
+ // g_print(" \n -------------- async_thread is going to close --------------\n");
return NULL;
}
}
@@ -1296,7 +1336,7 @@ gst_qcvideodec_class_init (GstqcvideodecClass * klass)
GstElementClass *gstelement_class = (GstElementClass *) klass;
GstVideoDecoderClass *video_decoder_class = GST_VIDEO_DECODER_CLASS (klass);
- g_print("\nclass_init Enter\n");
+ // g_print("\nclass_init Enter\n");
gobject_class->set_property = gst_qcvideodec_set_property;
gobject_class->get_property = gst_qcvideodec_get_property;
@@ -1327,7 +1367,7 @@ gst_qcvideodec_class_init (GstqcvideodecClass * klass)
GST_DEBUG_CATEGORY_INIT (gst_qcvideodec_debug, "mpeg4dec", 0,
"QC MPEG-4 Video Decoder");
- g_print("\nclass_init Exit\n");
+ //g_print("\nclass_init Exit\n");
}
/* initialize the new element
@@ -1338,7 +1378,7 @@ gst_qcvideodec_class_init (GstqcvideodecClass * klass)
static void
gst_qcvideodec_init (Gstqcvideodec * filter)
{
- g_print("\nqcvideodec_init Enter ----\n");
+ // g_print("\nqcvideodec_init Enter ----\n");
filter->sinkpad = gst_pad_new_from_static_template (&sink_factory, "qcsink");
GST_PAD_SET_PROXY_CAPS (filter->sinkpad);
@@ -1351,7 +1391,7 @@ gst_qcvideodec_init (Gstqcvideodec * filter)
gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad);
gst_pad_set_active(filter->srcpad, TRUE);
- g_print("\nqcvideodec_init Exit ----\n");
+ // g_print("\nqcvideodec_init Exit ----\n");
filter->silent = FALSE;
}