mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	Improve default source state
Default source state should be SUSPENDED
This commit is contained in:
		
							parent
							
								
									4199d5652e
								
							
						
					
					
						commit
						53bc0f7848
					
				
					 4 changed files with 14 additions and 12 deletions
				
			
		| 
						 | 
					@ -32,20 +32,20 @@ G_BEGIN_DECLS
 | 
				
			||||||
 * @PINOS_SOURCE_STATE_ERROR: the source is in error
 | 
					 * @PINOS_SOURCE_STATE_ERROR: the source is in error
 | 
				
			||||||
 * @PINOS_SOURCE_STATE_SUSPENDED: the source is suspended, the device might
 | 
					 * @PINOS_SOURCE_STATE_SUSPENDED: the source is suspended, the device might
 | 
				
			||||||
 *                             be closed
 | 
					 *                             be closed
 | 
				
			||||||
 * @PINOS_SOURCE_STATE_INIT: the source is initializing, it opens the device
 | 
					 * @PINOS_SOURCE_STATE_INITIALIZING: the source is initializing, the device is
 | 
				
			||||||
 *                        and gets the device capabilities
 | 
					 *                        being opened and the capabilities are queried
 | 
				
			||||||
 * @PINOS_SOURCE_STATE_IDLE: the source is running but there is no active
 | 
					 * @PINOS_SOURCE_STATE_IDLE: the source is running but there is no active
 | 
				
			||||||
 *                        source-output
 | 
					 *                        source-output
 | 
				
			||||||
 * @PINOS_SOURCE_STATE_RUNNING: the source is running.
 | 
					 * @PINOS_SOURCE_STATE_RUNNING: the source is running
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The different source states
 | 
					 * The different source states
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
typedef enum {
 | 
					typedef enum {
 | 
				
			||||||
  PINOS_SOURCE_STATE_ERROR = 0,
 | 
					  PINOS_SOURCE_STATE_ERROR = -1,
 | 
				
			||||||
  PINOS_SOURCE_STATE_SUSPENDED = 1,
 | 
					  PINOS_SOURCE_STATE_SUSPENDED = 0,
 | 
				
			||||||
  PINOS_SOURCE_STATE_INIT = 2,
 | 
					  PINOS_SOURCE_STATE_INITIALIZING = 1,
 | 
				
			||||||
  PINOS_SOURCE_STATE_IDLE = 3,
 | 
					  PINOS_SOURCE_STATE_IDLE = 2,
 | 
				
			||||||
  PINOS_SOURCE_STATE_RUNNING = 4,
 | 
					  PINOS_SOURCE_STATE_RUNNING = 3,
 | 
				
			||||||
} PinosSourceState;
 | 
					} PinosSourceState;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -148,7 +148,7 @@ set_state (PinosSource      *source,
 | 
				
			||||||
      gst_element_set_state (priv->pipeline, GST_STATE_NULL);
 | 
					      gst_element_set_state (priv->pipeline, GST_STATE_NULL);
 | 
				
			||||||
      break;
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    case PINOS_SOURCE_STATE_INIT:
 | 
					    case PINOS_SOURCE_STATE_INITIALIZING:
 | 
				
			||||||
      gst_element_set_state (priv->pipeline, GST_STATE_READY);
 | 
					      gst_element_set_state (priv->pipeline, GST_STATE_READY);
 | 
				
			||||||
      break;
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -124,7 +124,7 @@ client_set_state (PinosSource      *source,
 | 
				
			||||||
      gst_element_set_state (priv->pipeline, GST_STATE_NULL);
 | 
					      gst_element_set_state (priv->pipeline, GST_STATE_NULL);
 | 
				
			||||||
      break;
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    case PINOS_SOURCE_STATE_INIT:
 | 
					    case PINOS_SOURCE_STATE_INITIALIZING:
 | 
				
			||||||
      gst_element_set_state (priv->pipeline, GST_STATE_READY);
 | 
					      gst_element_set_state (priv->pipeline, GST_STATE_READY);
 | 
				
			||||||
      break;
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -315,7 +315,7 @@ pinos_source_class_init (PinosSourceClass * klass)
 | 
				
			||||||
                                                      "State",
 | 
					                                                      "State",
 | 
				
			||||||
                                                      "The state of the source",
 | 
					                                                      "The state of the source",
 | 
				
			||||||
                                                      PINOS_TYPE_SOURCE_STATE,
 | 
					                                                      PINOS_TYPE_SOURCE_STATE,
 | 
				
			||||||
                                                      PINOS_SOURCE_STATE_INIT,
 | 
					                                                      PINOS_SOURCE_STATE_SUSPENDED,
 | 
				
			||||||
                                                      G_PARAM_READABLE |
 | 
					                                                      G_PARAM_READABLE |
 | 
				
			||||||
                                                      G_PARAM_STATIC_STRINGS));
 | 
					                                                      G_PARAM_STATIC_STRINGS));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -338,7 +338,9 @@ pinos_source_class_init (PinosSourceClass * klass)
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
pinos_source_init (PinosSource * source)
 | 
					pinos_source_init (PinosSource * source)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  source->priv = PINOS_SOURCE_GET_PRIVATE (source);
 | 
					  PinosSourcePrivate *priv = source->priv = PINOS_SOURCE_GET_PRIVATE (source);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  priv->state = PINOS_SOURCE_STATE_SUSPENDED;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GBytes *
 | 
					GBytes *
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue