with
void
GstPlayer::findVideoCompression(char* filePath)
{
GstBus *intBus;
isAudio = false;
/* Create gstreamer elements */
pipeline = gst_pipeline_new ("pipe");
filesrc = gst_element_factory_make ("filesrc", "source");
demuxer = gst_element_factory_make ("avidemux", "avi-demuxer");
findtype = gst_element_factory_make ("typefind", "video typefinder");
vsink = gst_element_factory_make ("fakesink", "vsink");
if (!pipeline || !filesrc || !demuxer || !findtype || !vsink) {
g_printerr ("One element could not be created. Exiting.\n");
return ;
}
g_object_set (G_OBJECT (filesrc), "location", filePath, NULL);
intBus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
gst_bus_add_watch (intBus, bus_call, loop);
gst_object_unref (intBus);
gst_bin_add_many(GST_BIN (pipeline), filesrc, demuxer, findtype, vsink, NULL);
gst_element_link (filesrc, demuxer);
gst_element_link(findtype, vsink);
g_signal_connect (demuxer, "pad-added", G_CALLBACK (on_pad_added_fv), this);
g_signal_connect (findtype, "have-type", G_CALLBACK (cb_typefound_fv), this);
gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);
g_main_loop_run (loop);
/* unset */
gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
gst_object_unref (GST_OBJECT (pipeline));
}
void
GstPlayer::findAudioCompression(char* filePath)
{
GstBus *intBus;
/* Create gstreamer elements */
pipeline = gst_pipeline_new ("pipe");
filesrc = gst_element_factory_make ("filesrc", "source");
demuxer = gst_element_factory_make ("avidemux", "avi-demuxer");
findtype = gst_element_factory_make ("typefind", "video typefinder");
asink = gst_element_factory_make ("fakesink", "asink");
if (!pipeline || !filesrc || !demuxer || !findtype || !asink) {
g_printerr ("One element could not be created. Exiting.\n");
return ;
}
g_object_set (G_OBJECT (filesrc), "location", filePath, NULL);
intBus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
gst_bus_add_watch (intBus, bus_call, loop);
gst_object_unref (intBus);
gst_bin_add_many(GST_BIN (pipeline), filesrc, demuxer, findtype, asink, NULL);
gst_element_link (filesrc, demuxer);
gst_element_link(findtype, asink);
g_signal_connect (demuxer, "pad-added", G_CALLBACK (on_pad_added_fa), this);
g_signal_connect (findtype, "have-type", G_CALLBACK (cb_typefound_fa), this);
gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);
g_main_loop_run (loop);
/* unset */
gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
gst_object_unref (GST_OBJECT (pipeline));
}