LCOV - code coverage report
Current view: top level - src/libavdevice - utils.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 26 0.0 %
Date: 2017-01-19 23:52:33 Functions: 0 1 0.0 %

          Line data    Source code
       1             : /*
       2             :  * This file is part of FFmpeg.
       3             :  *
       4             :  * FFmpeg is free software; you can redistribute it and/or
       5             :  * modify it under the terms of the GNU Lesser General Public
       6             :  * License as published by the Free Software Foundation; either
       7             :  * version 2.1 of the License, or (at your option) any later version.
       8             :  *
       9             :  * FFmpeg is distributed in the hope that it will be useful,
      10             :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      11             :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      12             :  * Lesser General Public License for more details.
      13             :  *
      14             :  * You should have received a copy of the GNU Lesser General Public
      15             :  * License along with FFmpeg; if not, write to the Free Software
      16             :  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
      17             :  */
      18             : 
      19             : #include "internal.h"
      20             : #include "libavutil/opt.h"
      21             : #include "libavformat/avformat.h"
      22             : 
      23           0 : int ff_alloc_input_device_context(AVFormatContext **avctx, AVInputFormat *iformat, const char *format)
      24             : {
      25             :     AVFormatContext *s;
      26           0 :     int ret = 0;
      27             : 
      28           0 :     *avctx = NULL;
      29           0 :     if (!iformat && !format)
      30           0 :         return AVERROR(EINVAL);
      31           0 :     if (!(s = avformat_alloc_context()))
      32           0 :         return AVERROR(ENOMEM);
      33             : 
      34           0 :     if (!iformat)
      35           0 :         iformat = av_find_input_format(format);
      36           0 :     if (!iformat || !iformat->priv_class || !AV_IS_INPUT_DEVICE(iformat->priv_class->category)) {
      37           0 :         ret = AVERROR(EINVAL);
      38           0 :         goto error;
      39             :     }
      40           0 :     s->iformat = iformat;
      41           0 :     if (s->iformat->priv_data_size > 0) {
      42           0 :         s->priv_data = av_mallocz(s->iformat->priv_data_size);
      43           0 :         if (!s->priv_data) {
      44           0 :             ret = AVERROR(ENOMEM);
      45           0 :             goto error;
      46             :         }
      47           0 :         if (s->iformat->priv_class) {
      48           0 :             *(const AVClass**)s->priv_data= s->iformat->priv_class;
      49           0 :             av_opt_set_defaults(s->priv_data);
      50             :         }
      51             :     } else
      52           0 :         s->priv_data = NULL;
      53             : 
      54           0 :     *avctx = s;
      55           0 :     return 0;
      56             :   error:
      57           0 :     avformat_free_context(s);
      58           0 :     return ret;
      59             : }

Generated by: LCOV version 1.12