Revision 553febf4d8d473b7849eda2735ea77bbcb4f7c80 authored by Filip Roséen on 20 February 2016, 21:41:07 UTC, committed by Jean-Baptiste Kempf on 05 March 2016, 21:15:12 UTC
Manually managing memory comes at a cost of both maintainability (in terms of safety) and performance, as such I have replaced `p_indexes` with a `std::vector` with equivalent functionality. Three helper member-functions have been introduced in order to clean up the usage of the functionality, as well as removal of two now obsolete member-variables. A `typedef` has also been introduced to aid future development. The changes in `mkv.cpp` are due to the fact that it needs access to the indexes present in `matroska_segment_c`; this should be refactored away in the future. Also fixed a bug where you would access index out of bounds if there are no known indexes. Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
1 parent 881299b
avparser.h
/*****************************************************************************
* avparser.h
*****************************************************************************
* Copyright (C) 2015 VLC authors and VideoLAN
* $Id$
*
* Authors: Denis Charmet <typx@videolan.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <vlc_common.h>
#include <vlc_plugin.h>
#include <vlc_codec.h>
#include <vlc_block.h>
#include "../codec/avcodec/avcodec.h"
#include "../codec/avcodec/avcommon.h"
/*****************************************************************************
* Module descriptor
*****************************************************************************/
int OpenPacketizer ( vlc_object_t * );
void ClosePacketizer( vlc_object_t * );
#define AVPARSER_MODULE \
set_category( CAT_SOUT ) \
set_subcategory( SUBCAT_SOUT_PACKETIZER ) \
set_description( N_("avparser packetizer") ) \
set_capability( "packetizer", 20 ) \
set_callbacks( OpenPacketizer, ClosePacketizer )
Computing file changes ...