gstreamer_core/tsrc/examples/gstseek/src/gstseek.c
changeset 26 69c7080681bf
parent 20 7e3786c5ed27
equal deleted inserted replaced
24:bc39b352897e 26:69c7080681bf
    58     default:
    58     default:
    59       break;
    59       break;
    60   }
    60   }
    61 
    61 
    62   return TRUE;
    62   return TRUE;
       
    63 }
       
    64 
       
    65 static gboolean  cb_autoplug( GstBin * *bin,
       
    66                         GstPad        *pad,
       
    67                         GstCaps       *caps,
       
    68                         gpointer       user_data)
       
    69 {
       
    70     GstCaps* sinkcaps = NULL;    
       
    71     gboolean supported = FALSE;
       
    72     
       
    73     GstPad* sinkpad = gst_element_get_pad( sink, "sink");
       
    74     sinkcaps = gst_pad_get_caps( sinkpad );
       
    75     supported = gst_caps_is_subset( caps, sinkcaps );
       
    76     
       
    77     if( supported )
       
    78     {
       
    79         //link_with_devsoundsink = TRUE;
       
    80         return FALSE;
       
    81     }
       
    82     return TRUE;
    63 }
    83 }
    64 
    84 
    65 static void
    85 static void
    66 cb_newpad (GstElement *decodebin,
    86 cb_newpad (GstElement *decodebin,
    67        GstPad     *pad,
    87        GstPad     *pad,
   189     
   209     
   190     
   210     
   191     gst_bus_add_watch (gst_pipeline_get_bus (GST_PIPELINE (pipeline)), bus_call, loop);
   211     gst_bus_add_watch (gst_pipeline_get_bus (GST_PIPELINE (pipeline)), bus_call, loop);
   192     
   212     
   193     g_signal_connect (decoder, "new-decoded-pad", G_CALLBACK (cb_newpad), NULL);
   213     g_signal_connect (decoder, "new-decoded-pad", G_CALLBACK (cb_newpad), NULL);
   194     //g_signal_connect (decoder, "autoplug-continue", G_CALLBACK (cb_autoplug), NULL);
   214     g_signal_connect (decoder, "autoplug-continue", G_CALLBACK (cb_autoplug), NULL);
   195     
   215     
   196     g_timeout_add (1000/*in mili sec*/, (GSourceFunc) cb_get_position, NULL);
   216     g_timeout_add (1000/*in mili sec*/, (GSourceFunc) cb_get_position, NULL);
   197     
   217     
   198     //g_signal_connect (decoder, "pad-added", G_CALLBACK (new_pad_cb),pipeline);
   218     //g_signal_connect (decoder, "pad-added", G_CALLBACK (new_pad_cb),pipeline);
   199             /* Now set to playing and iterate. */
   219             /* Now set to playing and iterate. */