<commit_before>
/*
 * Copyright (C) 2003 <NAME> <<EMAIL>>
 *
 * This file is part of Ruby/GStreamer.
 *
 * Ruby/GStreamer 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.
 *
 * Ruby/GStreamer 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 Ruby/GStreamer; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
 */

#include "rbgst.h"

/*
 *  Module: Gst
 *
 *  The GStreamer module.
 */

VALUE mGst;

static void Init_gst_classes(void) {
    extern void Init_gst_autoplug(void);
    extern void Init_gst_autoplugfactory(void);
    extern void Init_gst_bin(void);
    extern void Init_gst_caps(void);
    extern void Init_gst_clock(void);
    extern void Init_gst_cpu(void);
    extern void Init_gst_element(void);
    extern void Init_gst_elementfactory(void);
    extern void Init_gst_event(void);
    extern void Init_gst_eventmask(void);
    extern void Init_gst_eventseek(void);
    extern void Init_gst_eventsegmentseek(void);
    extern void Init_gst_eventsize(void);
    extern void Init_gst_format(void);
    extern void Init_gst_indexfactory(void);
    extern void Init_gst_object(void);
    extern void Init_gst_pad(void);
    extern void Init_gst_padtemplate(void);
    extern void Init_gst_parse(void);
    extern void Init_gst_pipeline(void);
    extern void Init_gst_plugin(void);
    extern void Init_gst_pluginfeature(void);
    extern void Init_gst_querytype(void);
    extern void Init_gst_registry(void);
    extern void Init_gst_schedulerfactory(void);
    extern void Init_gst_systemclock(void);
    extern void Init_gst_thread(void);
    extern void Init_gst_type(void);
    extern void Init_gst_typefactory(void);
    extern void Init_gst_typefind(void);
    
    Init_gst_autoplug();
    Init_gst_autoplugfactory();
    Init_gst_bin();
    Init_gst_caps();
    Init_gst_clock();
    Init_gst_cpu();
    Init_gst_element();
    Init_gst_elementfactory();
    Init_gst_event();
    Init_gst_eventmask();
    Init_gst_eventseek();
    Init_gst_eventsegmentseek();
    Init_gst_eventsize();
    Init_gst_format();
    Init_gst_indexfactory();
    Init_gst_object();
    Init_gst_pad();
    Init_gst_padtemplate();
    Init_gst_parse();
    Init_gst_pipeline();
    Init_gst_plugin();
    Init_gst_pluginfeature();
    Init_gst_querytype();
    Init_gst_registry();
    Init_gst_schedulerfactory();
    Init_gst_systemclock();
    Init_gst_thread();
    Init_gst_type();
    Init_gst_typefactory();
    Init_gst_typefind();

#ifdef HAVE_MEDIA_INFO
    extern void Init_gst_mediatype(void);
    Init_gst_mediatype();
#endif
}

/*
 *  Class method: init(*args) -> true
 *
 *  Initializes the GStreamer library (using *args), setting up internal path 
 *  lists, registering built-in elements, and loading standard plugins.
 *  
 *  If *args are ommited, GStreamer will be initialized using arguments from the 
 *  Ruby command line.
 *
 *  This function will always return 'true'.  A RuntimeError exception will be
 *  raised if GStreamer could not be initialized.
 */
extern VALUE rb_progname, rb_argv;
static VALUE rb_gst_init(argc, argv, self)
    int argc;
    VALUE *argv;<commit_msg>Fixed a compilation bug with old 2.x GCC (thanks to <NAME>).<commit_after>
/*
 * Copyright (C) 2003 <NAME> <<EMAIL>>
 *
 * This file is part of Ruby/GStreamer.
 *
 * Ruby/GStreamer 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.
 *
 * Ruby/GStreamer 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 Ruby/GStreamer; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
 */

#include "rbgst.h"

/*
 *  Module: Gst
 *
 *  The GStreamer module.
 */

VALUE mGst;

static void Init_gst_classes(void) {
    extern void Init_gst_autoplug(void);
    extern void Init_gst_autoplugfactory(void);
    extern void Init_gst_bin(void);
    extern void Init_gst_caps(void);
    extern void Init_gst_clock(void);
    extern void Init_gst_cpu(void);
    extern void Init_gst_element(void);
    extern void Init_gst_elementfactory(void);
    extern void Init_gst_event(void);
    extern void Init_gst_eventmask(void);
    extern void Init_gst_eventseek(void);
    extern void Init_gst_eventsegmentseek(void);
    extern void Init_gst_eventsize(void);
    extern void Init_gst_format(void);
    extern void Init_gst_indexfactory(void);
    extern void Init_gst_object(void);
    extern void Init_gst_pad(void);
    extern void Init_gst_padtemplate(void);
    extern void Init_gst_parse(void);
    extern void Init_gst_pipeline(void);
    extern void Init_gst_plugin(void);
    extern void Init_gst_pluginfeature(void);
    extern void Init_gst_querytype(void);
    extern void Init_gst_registry(void);
    extern void Init_gst_schedulerfactory(void);
    extern void Init_gst_systemclock(void);
    extern void Init_gst_thread(void);
    extern void Init_gst_type(void);
    extern void Init_gst_typefactory(void);
    extern void Init_gst_typefind(void);
#ifdef HAVE_MEDIA_INFO
    extern void Init_gst_mediatype(void);
#endif
    
    Init_gst_autoplug();
    Init_gst_autoplugfactory();
    Init_gst_bin();
    Init_gst_caps();
    Init_gst_clock();
    Init_gst_cpu();
    Init_gst_element();
    Init_gst_elementfactory();
    Init_gst_event();
    Init_gst_eventmask();
    Init_gst_eventseek();
    Init_gst_eventsegmentseek();
    Init_gst_eventsize();
    Init_gst_format();
    Init_gst_indexfactory();
    Init_gst_object();
    Init_gst_pad();
    Init_gst_padtemplate();
    Init_gst_parse();
    Init_gst_pipeline();
    Init_gst_plugin();
    Init_gst_pluginfeature();
    Init_gst_querytype();
    Init_gst_registry();
    Init_gst_schedulerfactory();
    Init_gst_systemclock();
    Init_gst_thread();
    Init_gst_type();
    Init_gst_typefactory();
    Init_gst_typefind();

#ifdef HAVE_MEDIA_INFO
    Init_gst_mediatype();
#endif
}

/*
 *  Class method: init(*args) -> true
 *
 *  Initializes the GStreamer library (using *args), setting up internal path 
 *  lists, registering built-in elements, and loading standard plugins.
 *  
 *  If *args are ommited, GStreamer will be initialized using arguments from the 
 *  Ruby command line.
 *
 *  This function will always return 'true'.  A RuntimeError exception will be
 *  raised if GStreamer could not be initialized.
 */
extern VALUE rb_progname, rb_argv;
static VALUE rb_gst_init(argc, argv, self)
    int argc;
    VALUE *argv;
{'fraction_non_alphanumeric': 0.08479412963717896, 'fraction_numerical': 0.005571409158853105, 'mean_word_length': 4.111111111111111, 'pattern_counts': {'":': 0, '<': 10, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '196585', 'n_tokens_mistral': 2428, 'n_tokens_neox': 2384, 'n_words': 676}