Revision: 201033
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 02 Sep 2010 20:43:20 +0300
changeset 31 aec498aab1d3
parent 27 d43ce56a1534
child 33 ec10aa4a09b0
Revision: 201033 Kit: 201035
gst_plugins_symbian/group/bld.inf
gst_plugins_symbian/gst/devsound/devsoundsrcwrapper.cpp
gst_plugins_symbian/gst/devsound/devsoundsrcwrapper.h
gst_plugins_symbian/gst/devsound/gstdevsoundsrc.c
gstreamer_core/tsrc/examples/amr_record/group/amr_record.mmp
gstreamer_core/tsrc/examples/amr_record/src/amr_record.c
gstreamer_core/tsrc/examples/wav_record/src/wav_record.c
gstreamer_core/tsrc/gstreamertestcases_suite4/conf/gstreamertestcases_suite4.cfg
layers.sysdef.xml
package_definition.xml
package_map.xml
rom/bld.inf
rom/gstreamer.iby
sis/gstreamer_framework.pkg
--- a/gst_plugins_symbian/group/bld.inf	Wed Aug 18 10:04:13 2010 +0300
+++ b/gst_plugins_symbian/group/bld.inf	Thu Sep 02 20:43:20 2010 +0300
@@ -20,6 +20,8 @@
 *
 */
 
+PRJ_EXPORTS
+../gst/devsound/gstspeechencoderconfig.h  MW_LAYER_PLATFORM_EXPORT_PATH(gstreamer/gst/interfaces/gstspeechencoderconfig.h)
 
 PRJ_PLATFORMS
 DEFAULT
--- a/gst_plugins_symbian/gst/devsound/devsoundsrcwrapper.cpp	Wed Aug 18 10:04:13 2010 +0300
+++ b/gst_plugins_symbian/gst/devsound/devsoundsrcwrapper.cpp	Thu Sep 02 20:43:20 2010 +0300
@@ -67,7 +67,7 @@
 
 void DevSoundWrapperSrc::BufferToBeEmptied(CMMFBuffer* aBuffer)
     {
-//    TRACE_PRN_FN_ENT;
+    TRACE_PRN_FN_ENT;
 
     buffer = aBuffer;
     bufferreadpos = 0;
@@ -86,7 +86,7 @@
         User::RequestComplete(stat, KErrNotFound);
         iCallbackError = KErrNotFound;
         }
-//    TRACE_PRN_FN_EXT;
+    TRACE_PRN_FN_EXT;
     }
 /********************************************************/
 
@@ -179,7 +179,6 @@
 int initialize_devsound(GstDevsoundSrc* ds)
     {
     TRACE_PRN_FN_ENT;
-    //int ret = 0;
     DevSoundWrapperSrc* handle = (DevSoundWrapperSrc*) ds->handle;
 
     handle->AL->InitialiseActiveListener();
@@ -202,10 +201,8 @@
         handle->dev_sound->SetPrioritySettings(temp);
 
         handle->iCallbackError = SetConfigurations(handle);
-        
         }
 
-
     TRACE_PRN_IF_ERR(handle->iCallbackError);
     TRACE_PRN_FN_EXT;
     return handle->iCallbackError;
@@ -225,7 +222,7 @@
     {
     TRACE_PRN_FN_ENT;
     DevSoundWrapperSrc* handle = (DevSoundWrapperSrc*) ds->handle;
-        handle->dev_sound->Pause();
+    handle->dev_sound->Pause();
     TRACE_PRN_FN_EXT;
     return 0;
     }
@@ -236,7 +233,6 @@
     DevSoundWrapperSrc* handle = (DevSoundWrapperSrc*) ds->handle;
     if(handle->dev_sound->IsResumeSupported())
         {
-
         handle->iCallbackError = handle->dev_sound->Resume();
         }
     else
@@ -636,7 +632,6 @@
 int recordinit(DevSoundWrapperSrc *handle)
     {
     TRACE_PRN_FN_ENT;
-
     ((handle)->AL)->InitialiseActiveListener();
     handle->iCallbackError = KErrNone;
 
@@ -646,6 +641,7 @@
         {
         ((handle)->AL)->StartActiveScheduler();
         }
+
     TRACE_PRN_FN_EXT;
     return handle->iCallbackError;
     }
@@ -668,8 +664,9 @@
 int pre_init_setconf(GstDevsoundSrc *ds)
     {
     TRACE_PRN_FN_ENT;
+    
     DevSoundWrapperSrc* dsPtr = STATIC_CAST(DevSoundWrapperSrc*, ds->handle);
-    dsPtr->iCallbackError = 0;
+    dsPtr->iCallbackError = KErrNone;
     // NOTE: it is too late for setting prio/pref here
     if (ds->pending.preferenceupdate == 1 || ds->pending.priorityupdate == 1)
         {
--- a/gst_plugins_symbian/gst/devsound/devsoundsrcwrapper.h	Wed Aug 18 10:04:13 2010 +0300
+++ b/gst_plugins_symbian/gst/devsound/devsoundsrcwrapper.h	Thu Sep 02 20:43:20 2010 +0300
@@ -87,7 +87,6 @@
 public:
 	CActiveListener	*AL;
 	CActiveScheduler *as;
-	//TInt init_complete;
 	CMMFBuffer *buffer;
 	CMMFDevSound    *dev_sound;
 	TMMFCapabilities caps;
--- a/gst_plugins_symbian/gst/devsound/gstdevsoundsrc.c	Wed Aug 18 10:04:13 2010 +0300
+++ b/gst_plugins_symbian/gst/devsound/gstdevsoundsrc.c	Thu Sep 02 20:43:20 2010 +0300
@@ -129,6 +129,7 @@
 
 static gint gst_devsound_src_get_rate(gint rate);
 
+static void post_symbian_error ( GstBaseSrc* element, int symbian_error );
 
 typedef struct _GstCustomIfaceUpdate GstCustomIfaceUpdate;
 
@@ -398,13 +399,12 @@
     //gst_debug_log(devsound_debug, GST_LEVEL_LOG, "", "", 0, (GObject *) devsoundsrc, "StartDevSoundThread ",NULL);
     int ret = open_devsound(&(devsoundsrc->handle));
     
-    if( 0 != ret )
+    if( KErrNone != ret )
         {
         pthread_mutex_lock(&(create_mutex1));
         return_error = ret;
         pthread_cond_signal(&(create_condition1));
-        pthread_mutex_unlock(&(create_mutex1));    
-        //return_error = ret;
+        pthread_mutex_unlock(&(create_mutex1));
         pthread_exit(NULL);
         }
 
@@ -437,10 +437,10 @@
         {
         gst_update_devsound_speech_bitrate(devsoundsrc);
         ret = initialize_devsound(devsoundsrc);
-        if( 0 == ret )
+        if( KErrNone == ret )
             {
                 ret = recordinit(devsoundsrc->handle);
-                if( 0 == ret )
+                if( KErrNone == ret )
                     initproperties(devsoundsrc);
         
             }
@@ -730,7 +730,7 @@
 
     consumer_thread_state = CONSUMER_THREAD_INITIALIZING;
     cmd = OPEN;
-    return_error = 0;
+    return_error = KErrNone;
     //gst_debug_log(devsound_debug, GST_LEVEL_LOG, "", "", 0, (GObject *) src, "Before Thread Create ",NULL);
     pthread_create(&ds_thread, NULL, StartDevSoundThread, (void *)src);
     //gst_debug_log(devsound_debug, GST_LEVEL_LOG, "", "", 0, (GObject *) src, "After Thread Create ",NULL);
@@ -744,7 +744,9 @@
         }
     //gst_debug_log(devsound_debug, GST_LEVEL_LOG, "", "", 0, (GObject *) src, "AFter Mutex Wait in START ",NULL);
     //gst_debug_log(devsound_debug, GST_LEVEL_LOG, "", "", 0, (GObject *) src, "gst_devsound_src_start EXIT ",NULL);
-        return ret;
+    if ( return_error )
+        post_symbian_error( bsrc,return_error );
+    return ret;
     /* ERRORS */
     }
 
@@ -754,7 +756,6 @@
     GstDevsoundSrc *src= GST_DEVSOUND_SRC(bsrc);
     //gst_debug_log(devsound_debug, GST_LEVEL_LOG, "", "", 0, (GObject *) src, "gst_devsound_src_stop ENTER ");
     cmd = CLOSE;
-
     pthread_mutex_lock(&(create_mutex1));
     pthread_cond_signal(&(create_condition1));
     pthread_mutex_unlock(&(create_mutex1));
@@ -822,14 +823,14 @@
     {
     GstDevsoundSrc *dsrc= GST_DEVSOUND_SRC(src);
     int bufferpos=0;
-    int ret = 0;
+    int ret = KErrNone;
     
     if(!g_queue_get_length(dataqueue) && (dsrc->eosreceived == TRUE))
         {
         pthread_mutex_lock(&(create_mutex1));
         pthread_cond_signal(&(create_condition1));
         pthread_mutex_unlock(&(create_mutex1));
-        
+        post_symbian_error( src,KErrCancel );
         return GST_FLOW_UNEXPECTED;
         }
     
@@ -838,7 +839,12 @@
     //gst_debug_log(devsound_debug, GST_LEVEL_LOG, "", "", 0, (GObject *) dsrc, "Before Buffer Alloc in CREATE ",NULL);
     *buf = gst_buffer_try_new_and_alloc(size);
     //gst_debug_log(devsound_debug, GST_LEVEL_LOG, "", "", 0, (GObject *) dsrc, "AFter Buffer Alloc in CREATE ",NULL);
-
+    if(*buf == NULL)
+    {
+        post_symbian_error( src,KErrNoMemory );
+        return GST_FLOW_UNEXPECTED;
+    }        
+    
     while (size > 0)
         {
         if (dataleft >= size)
@@ -883,12 +889,13 @@
                 //gst_debug_log(devsound_debug, GST_LEVEL_LOG, "", "", 0, (GObject *) dsrc, "Before WAIT in CREATE ",NULL);
                 if(dsrc->eosreceived == TRUE)
                     {
+                    post_symbian_error( src,KErrCancel );
                     return GST_FLOW_UNEXPECTED;
                     }
                 else
                     {
                     cmd = RECORDING;
-                    return_error = 0;
+                    return_error = KErrNone;
                     pthread_mutex_lock(&(create_mutex1));
                     pthread_cond_signal(&(create_condition1));
                     pthread_mutex_unlock(&(create_mutex1));
@@ -900,19 +907,10 @@
                     }
                 //gst_debug_log(devsound_debug, GST_LEVEL_LOG, "", "", 0, (GObject *) dsrc, "AFTER WAIT in CREATE ",NULL);
                 }
-            if( KErrInUse == ret || KErrDied  == ret || KErrAccessDenied == ret )
-            {
-                // post error as pre-emption
-                GST_ELEMENT_ERROR (src, RESOURCE, BUSY,
-                    (("Pre-emption error.")),
-                    ("streaming paused because higher priority app requested resource, Err(%d)", ret));
-                
+            if( ret )
+            { 
+                post_symbian_error( src,ret );
                 return GST_FLOW_UNEXPECTED;
-            }     
-            else if( KErrNone != ret )
-            {
-                // no need to post error as base src will post error. 
-                return GST_FLOW_ERROR;
             }
             //gst_debug_log(devsound_debug, GST_LEVEL_LOG, "", "", 0, (GObject *) dsrc, "Before POP in CREATE ",NULL);
             GST_OBJECT_LOCK(dsrc);
@@ -921,7 +919,8 @@
            
             if(!popBuffer )
             {
-               return GST_FLOW_UNEXPECTED;
+                post_symbian_error( src,KErrNoMemory );
+                return GST_FLOW_UNEXPECTED;
             }
             if(dsrc->firstTimeInit != kPlayed)
                 {        
@@ -990,7 +989,7 @@
             if(cmd == PAUSE)
                 {
                 cmd = RESUME;
-                return_error = 0;
+                return_error = KErrNone;
                 pthread_mutex_lock(&create_mutex1);
                 pthread_cond_signal(&create_condition1);
                 pthread_mutex_unlock(&create_mutex1);
@@ -998,7 +997,10 @@
                 pthread_mutex_lock(&create_mutex1);
                 pthread_cond_wait(&create_condition1, &create_mutex1);
                 if( return_error )
+                    {
+                    post_symbian_error( GST_BASE_SRC(element),return_error );
                     ret = GST_STATE_CHANGE_FAILURE;
+                    }
                 pthread_mutex_unlock(&create_mutex1);
                 }
             break;
@@ -1014,7 +1016,7 @@
           
           case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
               cmd = PAUSE;
-              return_error = 0;
+              return_error = KErrNone;
               pthread_mutex_lock(&create_mutex1);
               pthread_cond_signal(&create_condition1);
               pthread_mutex_unlock(&create_mutex1);
@@ -1022,7 +1024,10 @@
               pthread_mutex_lock(&create_mutex1);
               pthread_cond_wait(&create_condition1, &create_mutex1);
               if( return_error )
-                  ret = GST_STATE_CHANGE_FAILURE;              
+                  {
+                  post_symbian_error( GST_BASE_SRC(element),return_error );
+                  ret = GST_STATE_CHANGE_FAILURE;
+                  }            
               pthread_mutex_unlock(&create_mutex1);
               break;
           default:
@@ -1302,7 +1307,7 @@
             //reset_devsound(sink->handle);
             src->eosreceived = TRUE;
             cmd = STOP;
-            return_error = 0;
+            return_error = KErrNone;
             pthread_mutex_lock(&create_mutex1);
             pthread_cond_signal(&create_condition1);
             pthread_mutex_unlock(&create_mutex1);
@@ -1328,4 +1333,94 @@
     
     return retValue;
     }
-	
+
+static void 
+post_symbian_error ( GstBaseSrc* element, int symbian_error )
+{
+    switch (symbian_error)
+    {
+
+        case KErrNone:
+            break;
+        case KErrNotFound:
+            GST_ELEMENT_ERROR (element, RESOURCE, NOT_FOUND,
+                (("resource not found error.")),
+                ("streaming paused because resource not found, Err(%d)", symbian_error));               
+            break;
+        case KErrCancel:
+            GST_ELEMENT_ERROR (element, RESOURCE, CLOSE,
+                (("resource request canceled.")),
+                ("streaming paused because resource request canceled, Err(%d)", symbian_error));               
+            break;
+        case KErrNoMemory:
+            GST_ELEMENT_ERROR (element, RESOURCE, NO_SPACE_LEFT,
+                (("Error out of memory")),
+                ("streaming paused because of no memory, Err(%d)", symbian_error));               
+            break;
+        case KErrNotSupported:
+            GST_ELEMENT_ERROR (element, RESOURCE, READ,
+                (("resource not supported.")),
+                ("streaming paused because resource not supported, Err(%d)", symbian_error));               
+            break;
+        case KErrNotReady:
+            GST_ELEMENT_ERROR (element, RESOURCE, TOO_LAZY,
+                (("resource is not ready for request.")),
+                ("streaming paused because resource is not ready, Err(%d)", symbian_error));               
+            break;
+        case KErrPermissionDenied:
+            GST_ELEMENT_ERROR (element, RESOURCE, READ,
+                (("Permission Denied.")),
+                ("streaming paused because permission denied, Err(%d)", symbian_error));               
+            break;
+        case KErrTimedOut:
+            GST_ELEMENT_ERROR (element, RESOURCE, TOO_LAZY,
+                (("Timed Out.")),
+                ("streaming paused because timed out, Err(%d)", symbian_error));               
+            break;
+        case KErrHardwareNotAvailable:
+            GST_ELEMENT_ERROR (element, RESOURCE, NOT_FOUND,
+                (("Hardware Not Available.")),
+                ("streaming paused because hardware not available, Err(%d)", symbian_error));               
+            break;
+        case KErrCorrupt:
+            GST_ELEMENT_ERROR (element, RESOURCE, FAILED,
+                (("Corrupted data.")),
+                ("streaming paused because of corrupted data, Err(%d)", symbian_error));               
+            break;
+        case KErrUnderflow:
+            GST_ELEMENT_ERROR (element, STREAM, FAILED,
+                (("Under flow.")),
+                ("streaming paused because of under flow, Err(%d)", symbian_error));               
+            break;
+        case KErrOverflow:
+            GST_ELEMENT_ERROR (element, STREAM, FAILED,
+                (("Over flow.")),
+                ("streaming paused because of over flow, Err(%d)", symbian_error));    
+            break;
+
+        case KErrInUse:
+            GST_ELEMENT_ERROR (element, RESOURCE, BUSY,
+                (("Resource In Use.")),
+                ("streaming paused because resource in use, Err(%d)", symbian_error));            
+            break;
+            
+        case KErrDied:
+            GST_ELEMENT_ERROR (element, RESOURCE, BUSY,
+                (("Error Resource Died.")),
+                ("streaming paused because resource died., Err(%d)", symbian_error));            
+            break;
+            
+        case KErrAccessDenied:            
+            GST_ELEMENT_ERROR (element, RESOURCE, BUSY,
+                (("Resource Access Denied.")),
+                ("streaming paused because resource access denied, Err(%d)", symbian_error));            
+            break;
+            
+        default:
+            GST_ELEMENT_ERROR (element, STREAM, FAILED,
+                (("internal data flow error.")),
+                ("streaming paused because of internal data flow error., Err(%d)", symbian_error));            
+            break;
+    }
+}
+
--- a/gstreamer_core/tsrc/examples/amr_record/group/amr_record.mmp	Wed Aug 18 10:04:13 2010 +0300
+++ b/gstreamer_core/tsrc/examples/amr_record/group/amr_record.mmp	Thu Sep 02 20:43:20 2010 +0300
@@ -38,7 +38,6 @@
 
 MACRO           HAVE_CONFIG_H
 
-USERINCLUDE	 /sf/mw/gstreamer/gst_plugins_symbian/gst/devsound
 USERINCLUDE				..
 USERINCLUDE             ../libs/gst/base
 USERINCLUDE             ../gst
@@ -76,8 +75,7 @@
 LIBRARY         libgstreamer.lib
 LIBRARY			libgstbase.lib
 LIBRARY			libgstcontroller.lib
-LIBRARY         libgstdevsoundext.lib
-LIBRARY         SpeechEncoderConfig.lib
+LIBRARY			libgstdevsoundext.lib
 
 STATICLIBRARY	libcrt0.lib
 //VENDORID VID_DEFAULT 
--- a/gstreamer_core/tsrc/examples/amr_record/src/amr_record.c	Wed Aug 18 10:04:13 2010 +0300
+++ b/gstreamer_core/tsrc/examples/amr_record/src/amr_record.c	Thu Sep 02 20:43:20 2010 +0300
@@ -6,7 +6,7 @@
 #include <string.h>
 #define LOG_FILE "c:\\logs\\amr_record_logs.txt" 
 #include "std_log_result.h" 
-#include <gstspeechencoderconfig.h>
+#include <gst/interfaces/gstspeechencoderconfig.h>
 #define LOG_FILENAME_LINE __FILE__, __LINE__
 #define LOG_FILENAME_LEN 256
 #define _DEBUG 1
--- a/gstreamer_core/tsrc/examples/wav_record/src/wav_record.c	Wed Aug 18 10:04:13 2010 +0300
+++ b/gstreamer_core/tsrc/examples/wav_record/src/wav_record.c	Thu Sep 02 20:43:20 2010 +0300
@@ -29,7 +29,7 @@
 GstElement *pipeline, *source, *wavenc,*sink;
 GstBus *bus;
 GMainLoop *loop;
-
+gint error;
 static gboolean
 bus_call (GstBus     *bus,
           GstMessage *msg,
@@ -41,7 +41,7 @@
         g_main_loop_quit(loop);
         gst_object_unref (GST_OBJECT (pipeline));
         //std_log(LOG_FILENAME_LINE, "Test Successful");
-        create_xml(0); 
+        create_xml(error); 
       break;
     case GST_MESSAGE_ERROR: {
       gchar *debug;
@@ -49,9 +49,10 @@
       gst_message_parse_error (msg, &err, &debug);
       g_free (debug);
       g_print ("Error: %s\n", err->message);
+      error = err->code;
       g_error_free (err);
       //std_log(LOG_FILENAME_LINE, "Test Failed");
-      create_xml(1); 
+
       break;
     }
     default:
@@ -79,6 +80,7 @@
     int width = 16;
     guint record_duration = 10000;
     
+    error = 0;
     if (argc > 1) {
     record_duration = (guint) atoi( argv[1] ) * 1000;
     }
--- a/gstreamer_core/tsrc/gstreamertestcases_suite4/conf/gstreamertestcases_suite4.cfg	Wed Aug 18 10:04:13 2010 +0300
+++ b/gstreamer_core/tsrc/gstreamertestcases_suite4/conf/gstreamertestcases_suite4.cfg	Thu Sep 02 20:43:20 2010 +0300
@@ -1,4 +1,3 @@
-/*
 [Test]
 title aac rec 16Kbps 8KHz
 create gstreamertestcases_suite4 foobar
@@ -208,9 +207,40 @@
 foobar Example wav_record.exe 10 8000 2 16
 delete foobar
 [Endtest]
+
+/*[Test]
+title wav_record.exe 10 11025 1 16
+create gstreamertestcases_suite4 foobar
+foobar Example wav_record.exe 10 11025 1 16
+delete foobar
+[Endtest]
+
+[Test]
+title wav_record.exe 10 11025 2 16
+create gstreamertestcases_suite4 foobar
+foobar Example wav_record.exe 10 11025 2 16
+delete foobar
+[Endtest]
+
+
+[Test]
+title wav_record.exe 10 12000 1 16
+create gstreamertestcases_suite4 foobar
+foobar Example wav_record.exe 10 12000 1 16
+delete foobar
+[Endtest]
+
+
+[Test]
+title wav_record.exe 10 12000 2 16
+create gstreamertestcases_suite4 foobar
+foobar Example wav_record.exe 10 12000 2 16
+delete foobar
+[Endtest]
 */
 
-/*[Test]
+
+[Test]
 title wav_record.exe 10 16000 1 16
 create gstreamertestcases_suite4 foobar
 foobar Example wav_record.exe 10 16000 1 16
@@ -224,8 +254,24 @@
 foobar Example wav_record.exe 10 16000 2 16
 delete foobar
 [Endtest]
+
+/*
+[Test]
+title wav_record.exe 10 22050 1 16
+create gstreamertestcases_suite4 foobar
+foobar Example wav_record.exe 10 22050 1 16
+delete foobar
+[Endtest]
+
+
+[Test]
+title wav_record.exe 10 22050 2 16
+create gstreamertestcases_suite4 foobar
+foobar Example wav_record.exe 10 22050 2 16
+delete foobar
+[Endtest]
 */
-/*
+
 [Test]
 title wav_record.exe 10 24000 1 16
 create gstreamertestcases_suite4 foobar
@@ -257,6 +303,22 @@
 delete foobar
 [Endtest]
 
+/*
+[Test]
+title wav_record.exe 10 44100 1 16
+create gstreamertestcases_suite4 foobar
+foobar Example wav_record.exe 10 44100 1 16
+delete foobar
+[Endtest]
+
+
+[Test]
+title wav_record.exe 10 44100 2 16
+create gstreamertestcases_suite4 foobar
+foobar Example wav_record.exe 10 44100 2 16
+delete foobar
+[Endtest]
+*/
 
 [Test]
 title wav_record.exe 10 48000 1 16
@@ -274,7 +336,7 @@
 [Endtest]
 
 
-*/
 
 
 
+
--- a/layers.sysdef.xml	Wed Aug 18 10:04:13 2010 +0300
+++ b/layers.sysdef.xml	Thu Sep 02 20:43:20 2010 +0300
@@ -3,16 +3,13 @@
   <!ENTITY layer_real_source_path "sf/mw/gstreamer" >
 ]> 
 
-<SystemDefinition name="avdomain" schema="1.4.0">
+<SystemDefinition name="gstreamer" schema="1.4.0">
 	<systemModel>
   <!-- Common file for prebuild layers-->
   	<layer name="mw_layer">
 			<module name="gstreamer">
 				<unit unitID="gstreamer" mrp="" bldFile="&layer_real_source_path;/group" name="gstreamer" />
 			</module>
-			<module name="gst_plugins_internal">
-				<unit unitID="gst_plugins_internal" mrp="" bldFile="&layer_real_source_path;/gst_plugins_internal/group" filter="!sf_build" name="gst_plugins_internal" />
-			</module>
     </layer>
     
   	<layer name="api_test_layer">
@@ -40,9 +37,6 @@
 			<module name="gstreamer_group">
 				<unit unitID="gstreamer_group" mrp="" bldFile="&layer_real_source_path;/group" name="gstreamer_group" />
 			</module>
-			<module name="gst_plugins_internal_group">
-				<unit unitID="gst_plugins_internal_group" mrp="" bldFile="&layer_real_source_path;/gst_plugins_internal/group" filter="!sf_build" name="gst_plugins_internal_group" />
-			</module>
     </layer>
     
   </systemModel>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/package_definition.xml	Thu Sep 02 20:43:20 2010 +0300
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="gstreamer" name="GStreamer" levels="plugin core api">
+      	<meta rel="config">
+      		<defined condition="FF_GSTREAMER"/>
+      	</meta>
+	<!-- structure matches planned directory layout -->
+    <collection id="gstreamerfw" name="GStreamer Framework" level="core">
+      <component id="gstreamer_core" name="GStreamer Core" introduced="^3" filter="s60">
+        <unit bldFile="gstreamer_core/group"/>
+      </component>
+    </collection>
+    <collection id="gst_plugins" name="GStreamer Plugins" level="plugin">
+      <component id="gst_plugins_base" name="GStreamer Base Plugins" introduced="^3" filter="s60">
+        <unit bldFile="gst_plugins_base/group"/>
+      </component>
+      <component id="gst_plugins_good" name="GStreamer Good Plugins" introduced="^3" filter="s60">
+        <unit bldFile="gst_plugins_good/group"/>
+      </component>
+      <component id="gst_plugins_symbian" filter="s60" name="GStreamer Sybmian Plugins" introduced="^3">
+        <unit bldFile="gst_plugins_symbian/group" filter="!test"/>
+        <unit bldFile="gst_plugins_symbian/tsrc/gstreamertestmodule/group" filter="test,pref_test,TA_GSTREAMER"/>
+      </component>
+    </collection>
+    <collection id="gstregistrygenerator" name="GStreamer Registry Generator" level="core">
+    	<!-- collection is really a component. Move down an directory  -->
+      <component id="gstregistrygenerator_build" filter="s60" name="GStreamer Registry Generator Build" introduced="^3">
+         <unit bldFile="gstregistrygenerator/group"/>
+      </component>
+    </collection>
+    <collection id="gstreamer_info" name="GStreamer Info" level="api">
+      <component id="gstreamer_rom" filter="s60" name="GStreamer ROM" introduced="^3" class="config">
+        <unit bldFile="rom"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/package_map.xml	Thu Sep 02 20:43:20 2010 +0300
@@ -0,0 +1,1 @@
+<PackageMap root="sf" layer="mw"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rom/bld.inf	Thu Sep 02 20:43:20 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* ==============================================================================
+*  Name        : bld.inf
+*  Part of     :
+*  Description : This is a top level bld file to generate all libraries.
+*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation; either
+* version 2 of the License, or (at your option) any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this library; if not, write to the
+* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+* Boston, MA 02111-1307, USA.
+*
+* Description : This is a top level bld file to export the data and ROM files
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+#ifdef FF_GSTREAMER
+../data/gst_dll_2001F41F.txt /epoc32/winscw/c/gstreamer/plugins_list/gst_dll_2001F41F.txt
+../data/gstreamer_stub.sis /epoc32/data/z/system/install/gstreamer_stub.sis
+gstreamer.iby       CORE_MW_LAYER_IBY_EXPORT_PATH(gstreamer.iby)
+#endif
+
--- a/rom/gstreamer.iby	Wed Aug 18 10:04:13 2010 +0300
+++ b/rom/gstreamer.iby	Thu Sep 02 20:43:20 2010 +0300
@@ -69,7 +69,6 @@
 file=ABI_DIR\BUILD_DIR\libgstwavenc.dll             SHARED_LIB_DIR\libgstwavenc.dll
 file=ABI_DIR\BUILD_DIR\libgstaudioconvert.dll       SHARED_LIB_DIR\libgstaudioconvert.dll
 file=ABI_DIR\BUILD_DIR\libgstqueue2.dll             SHARED_LIB_DIR\libgstqueue2.dll
-file=ABI_DIR\BUILD_DIR\libgstautodetect.dll         SHARED_LIB_DIR\libgstautodetect.dll
 file=ABI_DIR\BUILD_DIR\libgstapp.dll                SHARED_LIB_DIR\libgstapp.dll
 file=ABI_DIR\BUILD_DIR\libgstadder.dll              SHARED_LIB_DIR\libgstadder.dll
 file=ABI_DIR\BUILD_DIR\libgsttcp.dll                SHARED_LIB_DIR\libgsttcp.dll
@@ -77,9 +76,6 @@
 file=ABI_DIR\BUILD_DIR\libgstrtp.dll                SHARED_LIB_DIR\libgstrtp.dll
 file=ABI_DIR\BUILD_DIR\libgstgdp.dll                SHARED_LIB_DIR\libgstgdp.dll
 file=ABI_DIR\BUILD_DIR\libgstvolume.dll             SHARED_LIB_DIR\libgstvolume.dll
-file=ABI_DIR\BUILD_DIR\libgstmpegaudioparse.dll     SHARED_LIB_DIR\libgstmpegaudioparse.dll
-file=ABI_DIR\BUILD_DIR\libgstnokiaaacdec.dll        SHARED_LIB_DIR\libgstnokiaaacdec.dll
-file=ABI_DIR\BUILD_DIR\libgstqtdemux.dll            SHARED_LIB_DIR\libgstqtdemux.dll
 file=ABI_DIR\BUILD_DIR\libgstamrmux.dll             SHARED_LIB_DIR\libgstamrmux.dll
 file=ABI_DIR\BUILD_DIR\gstqtmux.dll                 SHARED_LIB_DIR\gstqtmux.dll
 file=ABI_DIR\BUILD_DIR\libgstnokiaaacenc.dll        SHARED_LIB_DIR\libgstnokiaaacenc.dll
Binary file sis/gstreamer_framework.pkg has changed