2a3
>  * Copyright (C) 2007 Motorola
135a137,142
> /**
>  * Date           Author          Comment
>  * 19/09/07       Motorola        add preroll_extesion 
>  *                                
>  */
> 
229a237
> #define DEFAULT_PREROLL_EXTENSION       FALSE
237c245,246
<   PROP_QOS
---
>   PROP_QOS,
>   PROP_PREROLL_EXTENSION
352a362,365
>   g_object_class_install_property (gobject_class, PROP_PREROLL_EXTENSION,
>       g_param_spec_boolean ("preroll-extension", "Preroll extension", "Extend "
>           "preroll", DEFAULT_PREROLL_EXTENSION, G_PARAM_READWRITE));
> 
769a783,787
>     case PROP_PREROLL_EXTENSION:
>       GST_OBJECT_LOCK (sink);
>       sink->preroll_extension = g_value_get_boolean (value);
>       GST_OBJECT_UNLOCK (sink);
>       break;
796a815,819
>     case PROP_PREROLL_EXTENSION:
>       GST_OBJECT_LOCK (sink);
>       g_value_set_boolean (value, sink->preroll_extension);
>       GST_OBJECT_UNLOCK (sink);
>       break;
1827a1851
>   GstBaseSinkClass *bclass;
1848a1873
> 
1896a1922
>     ret = GST_FLOW_OK; 
1899,1900c1925,1932
<     g_queue_push_tail (basesink->preroll_queue, obj);
<     return GST_FLOW_OK;
---
>     if (!basesink->preroll_extension || GST_IS_EVENT (obj))
>       g_queue_push_tail (basesink->preroll_queue, obj);
>     else {
>       bclass = GST_BASE_SINK_GET_CLASS (basesink);
>       if (bclass->queue_preroll)
>         ret = bclass->queue_preroll (basesink, obj);
>     }
>     return ret;
2614a2647
> 
2621c2654
<        * the PAUSED case above, so this is check is to test 
---
>        * the PAUSED case above, so this is check is to test
2624a2658,2661
>       if (GST_STATE (basesink) != GST_STATE_PLAYING && GST_STATE (basesink) != GST_STATE_PAUSED)
>         goto wrong_state;
> 
> 
