<?xml version="1.0" encoding="ascii"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>flumotion.component.producers.looper.looper.Looper</title> <link rel="stylesheet" href="epydoc.css" type="text/css" /> <script type="text/javascript" src="epydoc.js"></script> </head> <body bgcolor="white" text="black" link="blue" vlink="#204080" alink="#204080"> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <th class="navbar" width="100%"></th> </tr> </table> <table width="100%" cellpadding="0" cellspacing="0"> <tr valign="top"> <td width="100%"> <span class="breadcrumbs"> Package flumotion :: <a href="flumotion.component-module.html">Package component</a> :: <a href="flumotion.component.producers-module.html">Package producers</a> :: <a href="flumotion.component.producers.looper-module.html">Package looper</a> :: <a href="flumotion.component.producers.looper.looper-module.html">Module looper</a> :: Class Looper </span> </td> <td> <table cellpadding="0" cellspacing="0"> <!-- hide/show private --> <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" onclick="toggle_private();">hide private</a>]</span></td></tr> </table> </td> </tr> </table> <!-- ==================== CLASS DESCRIPTION ==================== --> <h1 class="epydoc">Class Looper</h1><p class="nomargin-top"><span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper">source code</a></span></p> <pre class="base-tree"> object --+ | <a href="flumotion.common.common.InitMixin-class.html">common.common.InitMixin</a> --+ | <a href="flumotion.extern.log.log.Loggable-class.html">extern.log.log.Loggable</a> --+ | <a href="flumotion.component.component.BaseComponent-class.html">component.BaseComponent</a> --+ | <a href="flumotion.component.feedcomponent010.FeedComponent-class.html">feedcomponent010.FeedComponent</a> --+ | <a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html">feedcomponent.ParseLaunchComponent</a> --+ | <strong class="uidshort">Looper</strong> </pre> <hr /> <!-- ==================== NESTED CLASSES ==================== --> <a name="section-NestedClasses"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Nested Classes</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-NestedClasses" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type">child class of <a href="flumotion.component.component.BaseComponentMedium-class.html" class="link">BaseComponentMedium</a></span> </td><td class="summary"> <a href="flumotion.component.producers.looper.looper.LooperMedium-class.html" class="summary-name">componentMediumClass</a><br /> the medium class to use for this component </td> </tr> </table> <!-- ==================== INSTANCE METHODS ==================== --> <a name="section-InstanceMethods"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Instance Methods</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-InstanceMethods" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="flumotion.component.producers.looper.looper.Looper-class.html#init" class="summary-sig-name">init</a>(<span class="summary-sig-arg">self</span>)</span><br /> A subclass should do as little as possible in its init method.</td> <td align="right" valign="top"> <span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.init">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="flumotion.component.producers.looper.looper.Looper-class.html#do_check" class="summary-sig-name">do_check</a>(<span class="summary-sig-arg">self</span>)</span><br /> Subclasses can implement me to run any checks before the component performs setup.</td> <td align="right" valign="top"> <span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.do_check">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="flumotion.component.producers.looper.looper.Looper-class.html#get_pipeline_string" class="summary-sig-name">get_pipeline_string</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">properties</span>)</span><br /> Method that must be implemented by subclasses to produce the gstparse string for the component's pipeline.</td> <td align="right" valign="top"> <span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.get_pipeline_string">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="flumotion.component.producers.looper.looper.Looper-class.html#make_message_for_gstreamer_error" class="summary-sig-name">make_message_for_gstreamer_error</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">gerror</span>, <span class="summary-sig-arg">debug</span>)</span><br /> Make a flumotion error message to show to the user.</td> <td align="right" valign="top"> <span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.make_message_for_gstreamer_error">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="run_discoverer"></a><span class="summary-sig-name">run_discoverer</span>(<span class="summary-sig-arg">self</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.run_discoverer">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="on_segment_done"></a><span class="summary-sig-name">on_segment_done</span>(<span class="summary-sig-arg">self</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.on_segment_done">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="on_pads_blocked"></a><span class="summary-sig-name">on_pads_blocked</span>(<span class="summary-sig-arg">self</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.on_pads_blocked">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="flumotion.component.producers.looper.looper.Looper-class.html#configure_pipeline" class="summary-sig-name">configure_pipeline</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">pipeline</span>, <span class="summary-sig-arg">properties</span>)</span><br /> Method that can be implemented by subclasses if they wish to interact with the pipeline after it has been created and set on the component.</td> <td align="right" valign="top"> <span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.configure_pipeline">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="flumotion.component.producers.looper.looper.Looper-class.html#do_seek" class="summary-sig-name">do_seek</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">flushing</span>)</span><br /> Restarts the looping.</td> <td align="right" valign="top"> <span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.do_seek">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="flumotion.component.producers.looper.looper.Looper-class.html#do_setup" class="summary-sig-name">do_setup</a>(<span class="summary-sig-arg">self</span>)</span><br /> Sets up component.</td> <td align="right" valign="top"> <span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.do_setup">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="flumotion.component.producers.looper.looper.Looper-class.html#do_stop" class="summary-sig-name">do_stop</a>(<span class="summary-sig-arg">self</span>)</span><br /> BaseComponent vmethod for stopping.</td> <td align="right" valign="top"> <span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.do_stop">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td colspan="2" class="summary"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html">feedcomponent.ParseLaunchComponent</a></code></b>: <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#add_default_eater_feeder">add_default_eater_feeder</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#create_pipeline">create_pipeline</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#get_eater_template">get_eater_template</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#get_feeder_template">get_feeder_template</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#get_queue_string">get_queue_string</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#parse_pipeline">parse_pipeline</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#parse_tmpl">parse_tmpl</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#set_pipeline">set_pipeline</a></code> </p> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html">feedcomponent010.FeedComponent</a></code></b>: <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#addEffect">addEffect</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#attachPadMonitorToFeeder">attachPadMonitorToFeeder</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#bus_message_received_cb">bus_message_received_cb</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#cleanup">cleanup</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#connect_feeders">connect_feeders</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#do_pipeline_playing">do_pipeline_playing</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#eatFromFD">eatFromFD</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#feedToFD">feedToFD</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#get_element">get_element</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#get_element_property">get_element_property</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#get_master_clock">get_master_clock</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#get_pipeline">get_pipeline</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#install_eater_continuity_watch">install_eater_continuity_watch</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#install_eater_event_probes">install_eater_event_probes</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#provide_master_clock">provide_master_clock</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#reconnectEater">reconnectEater</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#set_element_property">set_element_property</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#set_master_clock">set_master_clock</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#setup_completed">setup_completed</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#stop_pipeline">stop_pipeline</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#try_start_pipeline">try_start_pipeline</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#unblock_eater">unblock_eater</a></code> </p> <div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html">feedcomponent010.FeedComponent</a></code></b> (private): <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#_feeder_probe_calllater" onclick="show_private();">_feeder_probe_calllater</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#_setup_pipeline" onclick="show_private();">_setup_pipeline</a></code> </p></div> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="flumotion.component.component.BaseComponent-class.html">component.BaseComponent</a></code></b>: <code><a href="flumotion.component.component.BaseComponent-class.html#__init__">__init__</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#addMessage">addMessage</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#adminCallRemote">adminCallRemote</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#check_properties">check_properties</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#fixRenamedProperties">fixRenamedProperties</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#getMood">getMood</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#getName">getName</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#getWorkerName">getWorkerName</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#setMedium">setMedium</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#setMood">setMood</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#setShutdownHook">setShutdownHook</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#setWorkerName">setWorkerName</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#setup">setup</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#stop">stop</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#waitForHappy">waitForHappy</a></code> </p> <div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="flumotion.component.component.BaseComponent-class.html">component.BaseComponent</a></code></b> (private): <code><a href="flumotion.component.component.BaseComponent-class.html#_pollCPU" onclick="show_private();">_pollCPU</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#_pollMemory" onclick="show_private();">_pollMemory</a></code> </p></div> <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: <code>__delattr__</code>, <code>__format__</code>, <code>__getattribute__</code>, <code>__hash__</code>, <code>__new__</code>, <code>__reduce__</code>, <code>__reduce_ex__</code>, <code>__repr__</code>, <code>__setattr__</code>, <code>__sizeof__</code>, <code>__str__</code>, <code>__subclasshook__</code> </p> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="flumotion.extern.log.log.Loggable-class.html">extern.log.log.Loggable</a></code></b>: <code><a href="flumotion.extern.log.log.Loggable-class.html#debug">debug</a></code>, <code><a href="flumotion.extern.log.log.Loggable-class.html#doLog">doLog</a></code>, <code><a href="flumotion.extern.log.log.Loggable-class.html#error">error</a></code>, <code><a href="flumotion.extern.log.log.Loggable-class.html#info">info</a></code>, <code><a href="flumotion.extern.log.log.Loggable-class.html#log">log</a></code>, <code><a href="flumotion.extern.log.log.Loggable-class.html#logFunction">logFunction</a></code>, <code><a href="flumotion.extern.log.log.Loggable-class.html#logObjectName">logObjectName</a></code>, <code><a href="flumotion.extern.log.log.Loggable-class.html#warning">warning</a></code>, <code><a href="flumotion.extern.log.log.Loggable-class.html#warningFailure">warningFailure</a></code>, <code><a href="flumotion.extern.log.log.Loggable-class.html#writeMarker">writeMarker</a></code> </p> </td> </tr> </table> <!-- ==================== CLASS VARIABLES ==================== --> <a name="section-ClassVariables"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Class Variables</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-ClassVariables" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr> <td colspan="2" class="summary"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html">feedcomponent.ParseLaunchComponent</a></code></b>: <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#DELIMITER">DELIMITER</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#DEPAY_TMPL">DEPAY_TMPL</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#EATER_TMPL">EATER_TMPL</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#FDSRC_TMPL">FDSRC_TMPL</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#FEEDER_TMPL">FEEDER_TMPL</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#checkOffset">checkOffset</a></code>, <code><a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#checkTimestamp">checkTimestamp</a></code> </p> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html">feedcomponent010.FeedComponent</a></code></b>: <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#FEEDER_STATS_UPDATE_FREQUENCY">FEEDER_STATS_UPDATE_FREQUENCY</a></code>, <code><a href="flumotion.component.feedcomponent010.FeedComponent-class.html#logCategory">logCategory</a></code> </p> </td> </tr> </table> <!-- ==================== INSTANCE VARIABLES ==================== --> <a name="section-InstanceVariables"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Instance Variables</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-InstanceVariables" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr> <td colspan="2" class="summary"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="flumotion.component.component.BaseComponent-class.html">component.BaseComponent</a></code></b>: <code><a href="flumotion.component.component.BaseComponent-class.html#medium">medium</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#name">name</a></code>, <code><a href="flumotion.component.component.BaseComponent-class.html#uiState">uiState</a></code> </p> </td> </tr> </table> <!-- ==================== PROPERTIES ==================== --> <a name="section-Properties"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Properties</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-Properties" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr> <td colspan="2" class="summary"> <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: <code>__class__</code> </p> </td> </tr> </table> <!-- ==================== METHOD DETAILS ==================== --> <a name="section-MethodDetails"></a> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Method Details</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-MethodDetails" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> </table> <a name="init"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">init</span>(<span class="sig-arg">self</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.init">source code</a></span> </td> </tr></table> <p>A subclass should do as little as possible in its init method. In particular, it should not try to access resources.</p> <p>Failures during init are marshalled back to the manager through the worker's remote_create method, since there is no component state proxied to the manager yet at the time of init.</p> <dl class="fields"> <dt>Overrides: <a href="flumotion.component.component.BaseComponent-class.html#init">component.BaseComponent.init</a> <dd><em class="note">(inherited documentation)</em></dd> </dt> </dl> </td></tr></table> </div> <a name="do_check"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">do_check</span>(<span class="sig-arg">self</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.do_check">source code</a></span> </td> </tr></table> <p>Subclasses can implement me to run any checks before the component performs setup.</p> <p>Messages can be added to the component state's 'messages' list key. Any error messages added will trigger the component going to sad, with <a href="flumotion.common.errors.ComponentSetupError-class.html" class="link">flumotion.common.errors.ComponentSetupError</a> being raised before getting to setup stage; do_setup() will not be called.</p> <p>In the event of a fatal problem that can't be expressed through an error message, this method should raise an exception or return a failure.</p> <p>It is not necessary to chain up in this function. The return value may be a deferred.</p> <dl class="fields"> <dt>Overrides: <a href="flumotion.component.component.BaseComponent-class.html#do_check">component.BaseComponent.do_check</a> <dd><em class="note">(inherited documentation)</em></dd> </dt> </dl> </td></tr></table> </div> <a name="get_pipeline_string"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">get_pipeline_string</span>(<span class="sig-arg">self</span>, <span class="sig-arg">properties</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.get_pipeline_string">source code</a></span> </td> </tr></table> <p>Method that must be implemented by subclasses to produce the gstparse string for the component's pipeline. Subclasses should not chain up; this method raises a NotImplemented error.</p> <p>Returns: a new pipeline string representation.</p> <dl class="fields"> <dt>Overrides: <a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#get_pipeline_string">feedcomponent.ParseLaunchComponent.get_pipeline_string</a> <dd><em class="note">(inherited documentation)</em></dd> </dt> </dl> </td></tr></table> </div> <a name="make_message_for_gstreamer_error"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">make_message_for_gstreamer_error</span>(<span class="sig-arg">self</span>, <span class="sig-arg">gerror</span>, <span class="sig-arg">debug</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.make_message_for_gstreamer_error">source code</a></span> </td> </tr></table> <p>Make a flumotion error message to show to the user.</p> <p>This method may be overridden by components that have special knowledge about potential errors. If the component does not know about the error, it can chain up to this implementation, which will make a generic message.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>gerror</code></strong> - The GError from the error message posted on the GStreamer message bus.</li> <li><strong class="pname"><code>debug</code></strong> - A string with debugging information.</li> </ul></dd> <dt>Returns:</dt> <dd>A <a href="flumotion.common.messages.Message-class.html" class="link">flumotion.common.messages.Message</a> to show to the user.</dd> <dt>Overrides: <a href="flumotion.component.feedcomponent010.FeedComponent-class.html#make_message_for_gstreamer_error">feedcomponent010.FeedComponent.make_message_for_gstreamer_error</a> <dd><em class="note">(inherited documentation)</em></dd> </dt> </dl> </td></tr></table> </div> <a name="configure_pipeline"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">configure_pipeline</span>(<span class="sig-arg">self</span>, <span class="sig-arg">pipeline</span>, <span class="sig-arg">properties</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.configure_pipeline">source code</a></span> </td> </tr></table> <p>Method that can be implemented by subclasses if they wish to interact with the pipeline after it has been created and set on the component.</p> <p>This could include attaching signals and bus handlers.</p> <dl class="fields"> <dt>Overrides: <a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#configure_pipeline">feedcomponent.ParseLaunchComponent.configure_pipeline</a> <dd><em class="note">(inherited documentation)</em></dd> </dt> </dl> </td></tr></table> </div> <a name="do_seek"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">do_seek</span>(<span class="sig-arg">self</span>, <span class="sig-arg">flushing</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.do_seek">source code</a></span> </td> </tr></table> <p>Restarts the looping.</p> <p>Returns True if the seeking was accepted, Returns False otherwiser</p> <dl class="fields"> </dl> </td></tr></table> </div> <a name="do_setup"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">do_setup</span>(<span class="sig-arg">self</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.do_setup">source code</a></span> </td> </tr></table> <p>Sets up component.</p> <p>Invokes the <a href="flumotion.component.combiners.switch.switch.Switch-class.html#create_pipeline" class="link">create_pipeline</a> and <a href="flumotion.component.feedcomponent.ParseLaunchComponent-class.html#set_pipeline" class="link">set_pipeline</a> vmethods, which subclasses can provide.</p> <dl class="fields"> <dt>Overrides: <a href="flumotion.component.component.BaseComponent-class.html#do_setup">component.BaseComponent.do_setup</a> <dd><em class="note">(inherited documentation)</em></dd> </dt> </dl> </td></tr></table> </div> <a name="do_stop"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">do_stop</span>(<span class="sig-arg">self</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="flumotion.component.producers.looper.looper-pysrc.html#Looper.do_stop">source code</a></span> </td> </tr></table> <p>BaseComponent vmethod for stopping. The component should do any cleanup it needs, but must not set the component's mood to sleeping.</p> <dl class="fields"> <dt>Returns:</dt> <dd><code class="link">twisted.internet.defer.Deferred</code></dd> <dt>Overrides: <a href="flumotion.component.component.BaseComponent-class.html#do_stop">component.BaseComponent.do_stop</a> <dd><em class="note">(inherited documentation)</em></dd> </dt> </dl> </td></tr></table> </div> <br /> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <th class="navbar" width="100%"></th> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="100%%"> <tr> <td align="left" class="footer"> Generated by Epydoc 3.0.1 on Sun Sep 13 13:14:12 2009 </td> <td align="right" class="footer"> <a target="mainFrame" href="http://epydoc.sourceforge.net" >http://epydoc.sourceforge.net</a> </td> </tr> </table> <script type="text/javascript"> <!-- // Private objects are initially displayed (because if // javascript is turned off then we want them to be // visible); but by default, we want to hide them. So hide // them unless we have a cookie that says to show them. checkCookie(); // --> </script> </body> </html>