comparison pidgin/gtkmedia.c @ 26424:0c96ac2ea5f8

Remove purple_media_video_init_* functions.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Sun, 22 Mar 2009 22:49:10 +0000
parents dd45432d6b69
children 722527dc050f
comparison
equal deleted inserted replaced
26423:d01fb18be4d2 26424:0c96ac2ea5f8
834 } 834 }
835 835
836 static GstElement * 836 static GstElement *
837 create_default_video_src(void) 837 create_default_video_src(void)
838 { 838 {
839 GstElement *ret = NULL; 839 GstElement *sendbin, *src, *videoscale, *capsfilter;
840 purple_media_video_init_src(&ret); 840 GstPad *pad;
841 return ret; 841 GstPad *ghost;
842 GstCaps *caps;
843 const gchar *video_plugin = purple_prefs_get_string(
844 "/purple/media/video/plugin");
845 const gchar *video_device = purple_prefs_get_string(
846 "/purple/media/video/device");
847
848 sendbin = gst_bin_new("purplesendvideobin");
849 src = gst_element_factory_make(video_plugin, "purplevideosource");
850 videoscale = gst_element_factory_make("videoscale", NULL);
851 capsfilter = gst_element_factory_make("capsfilter", NULL);
852
853 /* It was recommended to set the size < 352x288 and framerate < 20 */
854 caps = gst_caps_from_string("video/x-raw-yuv , width=[250,350] , "
855 "height=[200,275] , framerate=[10/1,20/1]");
856 g_object_set(G_OBJECT(capsfilter), "caps", caps, NULL);
857
858 gst_bin_add_many(GST_BIN(sendbin), src,
859 videoscale, capsfilter, NULL);
860 gst_element_link_many(src, videoscale, capsfilter, NULL);
861
862 if (!strcmp(video_plugin, "videotestsrc")) {
863 /* Set is-live to true to throttle videotestsrc */
864 g_object_set (G_OBJECT(src), "is-live", TRUE, NULL);
865 }
866
867 pad = gst_element_get_static_pad(capsfilter, "src");
868 ghost = gst_ghost_pad_new("ghostsrc", pad);
869 gst_object_unref(pad);
870 gst_element_add_pad(sendbin, ghost);
871
872 if (video_device != NULL && strcmp(video_device, ""))
873 g_object_set(G_OBJECT(src), "device", video_device, NULL);
874
875 return sendbin;
842 } 876 }
843 877
844 static GstElement * 878 static GstElement *
845 create_default_video_sink(void) 879 create_default_video_sink(void)
846 { 880 {
847 GstElement *ret = NULL; 881 return gst_element_factory_make("autovideosink", NULL);
848 purple_media_video_init_recv(&ret);
849 return ret;
850 } 882 }
851 883
852 static GstElement * 884 static GstElement *
853 create_default_audio_src(void) 885 create_default_audio_src(void)
854 { 886 {