LCOV - code coverage report
Current view: top level - include/elements/gstgpactf.h (source / functions) Coverage Total Hit
Test: coverage.filtered.info Lines: 100.0 % 2 2
Test Date: 2025-09-18 00:43:48 Functions: 100.0 % 4 4

            Line data    Source code
       1              : /*
       2              :  *                      GPAC - Multimedia Framework C SDK
       3              :  *
       4              :  *                      Authors: Deniz Ugur, Romain Bouqueau, Sohaib Larbi
       5              :  *                      Copyright (c) Motion Spell
       6              :  *                              All rights reserved
       7              :  *
       8              :  *  This file is part of the GPAC/GStreamer wrapper
       9              :  *
      10              :  *  This GPAC/GStreamer wrapper is free software; you can redistribute it
      11              :  *  and/or modify it under the terms of the GNU Affero General Public License
      12              :  *  as published by the Free Software Foundation; either version 3, or (at
      13              :  *  your option) any later version.
      14              :  *
      15              :  *  This GPAC/GStreamer wrapper is distributed in the hope that it will be
      16              :  *  useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
      17              :  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      18              :  *  GNU Affero General Public License for more details.
      19              :  *
      20              :  *  You should have received a copy of the GNU Affero General Public
      21              :  *  License along with this library; see the file LICENSE.  If not, write to
      22              :  *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
      23              :  *
      24              :  */
      25              : 
      26              : #pragma once
      27              : 
      28              : #include "elements/common.h"
      29              : #include "gpacmessages.h"
      30              : 
      31              : #include "lib/caps.h"
      32              : #include "lib/main.h"
      33              : #include "lib/memio.h"
      34              : #include "lib/packet.h"
      35              : #include "lib/pid.h"
      36              : #include "lib/properties.h"
      37              : #include "lib/session.h"
      38              : #include "lib/signals.h"
      39              : 
      40              : #include <gst/base/gstaggregator.h>
      41              : #include <gst/gst.h>
      42              : #include <gst/video/video-event.h>
      43              : 
      44              : G_BEGIN_DECLS
      45              : 
      46              : #define GST_TYPE_GPAC_TF (gst_gpac_tf_get_type())
      47        12448 : G_DECLARE_FINAL_TYPE(GstGpacTransform, gst_gpac_tf, GST, GPAC_TF, GstAggregator)
      48              : 
      49              : /**
      50              :  * GstGpacTransform: Opaque data structure.
      51              :  */
      52              : struct _GstGpacTransform
      53              : {
      54              :   GstAggregator parent;
      55              : 
      56              :   /* GPAC Context */
      57              :   GPAC_Context gpac_ctx;
      58              : 
      59              :   /* Element specific options */
      60              :   guint64 global_idr_period;
      61              :   guint64 gpac_idr_period;
      62              : 
      63              :   /* General Pad Information */
      64              :   guint32 video_pad_count;
      65              :   guint32 audio_pad_count;
      66              :   guint32 subtitle_pad_count;
      67              :   guint32 caption_pad_count;
      68              : 
      69              :   /* Input Queue */
      70              :   GQueue* queue;
      71              : 
      72              :   /* Sacrificial Buffer (for syncing) */
      73              :   GstBuffer* sync_buffer;
      74              : };
      75              : 
      76              : /**
      77              :  * Accessors
      78              :  */
      79              : // NOLINTBEGIN
      80              : #define GPAC_CTX &gpac_tf->gpac_ctx
      81              : #define GPAC_PROP_CTX(ctx) (ctx.prop)
      82              : #define GPAC_SESS_CTX(ctx) (ctx.sess)
      83              : // NOLINTEND
      84              : 
      85              : #define GST_TYPE_GPAC_TF_PAD (gst_gpac_tf_pad_get_type())
      86        27948 : G_DECLARE_FINAL_TYPE(GstGpacTransformPad,
      87              :                      gst_gpac_tf_pad,
      88              :                      GST,
      89              :                      GPAC_TF_PAD,
      90              :                      GstAggregatorPad)
      91              : 
      92              : /**
      93              :  * GstGpacTransformPad: Opaque data structure.
      94              :  */
      95              : struct _GstGpacTransformPad
      96              : {
      97              :   GstAggregatorPad parent;
      98              : 
      99              :   /* GPAC PID */
     100              :   GF_FilterPid* pid;
     101              : };
     102              : 
     103              : GST_ELEMENT_REGISTER_DECLARE(gpac_tf);
     104              : 
     105              : static GstStaticPadTemplate internal_pad_template =
     106              :   GST_STATIC_PAD_TEMPLATE("src",
     107              :                           GST_PAD_SRC,
     108              :                           GST_PAD_ALWAYS,
     109              :                           GST_STATIC_CAPS(INTERNAL_CAPS));
     110              : 
     111              : G_END_DECLS
        

Generated by: LCOV version 2.0-1