WHAT IT IS
----------------
 
   This is GStreamer Version 0.10.19 on S60 platform.
   
 
WHAT S60 PLATFORMS GSTREAMER SUPPORTS
------------------------------------------------------------

   Currently GStreamer is supported on S60 3.2 and 5.0 SDK's.
   
WHAT GSTREAMER SUPPORTS ON SYMBIAN PLATFORM
-----------------------------------------------------------------------

 -- On Hardware
      -- Recording formats   :  RAW, WAV, AMR-NB, G711, G729, ILBC.
      -- Playback formats     :  AU, RAW, WAV, AMR-NB, G711, G729, ILBC.


 -- On emulator
      -- Recording formats   :  RAW, WAV.
      -- Playback formats     :  AU, RAW, WAV.
         
RUNNING GSTREAMER ON EMULATOR
-------------------------------------------------

REQUIREMENTS:
==============

	- Get any of the supported SDK from Forum NOKIA
		
	Note: SDKs are available in the below link 
	
	http://www.forum.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-af0631419e9c/S60_All_in_One_SDKs.html
	
	- OpenC and C++ plugins which are available in forum nokia
	
	http://www.forum.nokia.com/info/sw.nokia.com/id/91d89929-fb8c-4d66-bea0-227e42df9053/Open_C_SDK_Plug-In.html 
	
   
BUILDING GSTREAMER ON SDK
----------------------------------------

  1> After downloading the SDK, create a substitute drive for the same using subst <drive name><path of SDK>
	2> Create a folder sf\mw\ and place the gstreamer code inside sf\mw\
	3> Go to gstreamer\group and open a command prompt and execute the following commands
				=> bldmake bldfiles
				=> abld reallyclean
				=> abld build winscw udeb
				=> abld build armv5 urel
	4> Go to gstreamer\internal\gstplayer\group and execute the above mentioned commands
	5> Go to gstreamer\internal\miscfiles and run copyplugins.bat. 
  6> Cross verify that the plugins are copied to "epoc32\release\winscw\udeb\z\sys\bin\plugin".
   
  
  --  launch gst-player present in applications folder in EMULATOR.
  --  Play one of the supported format file.


INSTALLING GSTREAMER WITHOUT BUILDING
---------------------------------------------------
  * Extract gstreamer_binaries.zip available in this package on root of your SDK.
  * It will copy pre-compiled binaries on your SDK.
  * Gstreamer is ready to use on emulator.

GSTREAMER INSTALLATION ON PHONE
---------------------------------------------------

* Install dependencies i.e. OpenC.

  NOTE: Install the openc_glib and pips_s60 available in Forum Nokia for getting the latest binaries.

* To generate the gstreamer.sis file, run “\gstreamer\sis\create_gstreamer_sis.bat” with your 
  certificates and keys for signing. Install gstreamer.sis on phone.
  
* To generate GSTPlayer test application sis file, Run create_gstplayer_sis.bat which is available at 
  gstreamer\internal\gstplayer\sis\  , Install GSTPlayer.sis which got created. 
 
* Use GSTPlayer for playback and recording of supported formats.

 
CHANGES DONE IN GSTREAMER ON SYMBIAN
-----------------------------------------------------------

* Gstreamer registry will only be updated by gstregistrygenerator.exe on hardware.  
  It is used to update the registry. If registry is not present it can be generated by 
  any application on first call of gst_init.

* Registry will be generated only with those plugins whose entry (dll name, you can refer 
  "\gstreamer\data\gst_dll_2001F41F.txt file") will be present in a txt file and that file 
  should be present in \epoc32\winscw\c\gstreamer\plugins_list for emulator and 
  c:\gstreamer\plugins_list for devices.

* plugin name should be separated by ENTER.

* These changes has been made for platform security and improving the performance of gst_init() call,
  as it will not check for new/updates of plugins at every gst_init call. If want to update the registry 
  run gstregistrygenerator.exe. 
  
  
GSTREAMER PKG CREATION FOR HARDWARE
----------------------------------------------------------

* Gstreamer having the following pkg files.

     1. GSTRegistryGenerator.pkg : Updates the registry at the time of installation of sis file.
        It is having an auto run option to run gstregistrygenerator.exe to update registry. 
        
        NOTE: - At the time of installation of GSTRegistryGenerator.pkg, it will run gstregistrygenerator.exe,
        so the dependent libraries should be present before installation. The following file should be present 
             > The txt file having plugin list in c:\gstreamer\plugins_list.
             > The gstreamer core, base and plugins in C:\sys\bin.


     2. GSTRegistryGenerator_update.pkg : Same as GSTRegistryGenerator.pkg, for installation 
        of gstregistrygenerator.exe if it is already present in phone.

     3. gstreamer_framework.pkg : Having a list of gstreamer core, base and plugins dlls.

     4. gstreamer.pkg: Having above pkg file’s sis files in such a way that first 
        it will install gstreamer_framework.sis and then GSTRegistryGenerator.pkg.

* To generate the gstreamer.sis file, run “\gstreamer\sis\create_gstreamer_sis.bat” with your 
  certificates and keys for signing.
  
  
CHANGES REQUIRED FOR NEW PLUGIN DEVELOPMENT AND INSTALLATION 
--------------------------------------------------------------------------------------------------

* For the installation of new plugins we need to do following steps:
     1. Place the plugins dll in “c:\sys\bin” 
     2. Place a txt file in “c:\gstreamer\plugins_list”, having plugins dll names.
     3. Run the gstregistrygenerator.exe to update the gst-registry.

* To do the above steps we need two pkg files.
     1. Create one pkg file to put dlls and txt file to put at their appropriate path.
     2. Another pkg file will contain the above sis file and gstregistrygenerator.sis as 

         @"plugins_dlls_and_txt.sis", (UID of sis file)

         IF EXISTS("c:\sys\bin\GSTRegistryGenerator.exe")
         ; Transfer GSTRegistryGenerator_update
         @"GSTRegistryGenerator_update.sis", (0xEE84F17B)
         ELSE
         @"GSTRegistryGenerator.sis", (0xEE84F17B)
         ENDIF

      NOTE: The order of sis files, GSTRegistryGenerator.sis should be after the main sis file 
            which contains the dll and txt file so that it will get installed first and the 
            GSTRegistryGenerator.exe will get the dlls and txt file in appropriate folders. 


* For reference please look at \gstreamer\gst_plugins_good\sis folder, here is an example of creating a pkg file for new plugins.

FAQ
------

* Unable to install the Gstreamer.SIS on the phone?
->Check that the certificates which you have used to sign gstreamer. Might be not able to run gstregistrygenerator.exe because of 
    binaries mis-match. need to install correct openc and glib binaries.

* GSTplayer closes without any notification and neither the song is played on the phone ?
->Binaries mismatch ,or Openc_glib and pips_s60 installed is not the latest.																			

* When song selected the sound is not heard on the phone?
->Gstregistry generator is not generated try reinstalling the Gstreamer.sis.


* Registry not generated.
->Might be plugins are not copied, so run copyplugins.bat present in sf\mw\gstreamer\internal\miscfiles for emulator, 
   or text file is not present which is having a list of plugins dll's name at  \epoc32\winscw\c\gstreamer\plugins_list for 
   emulator and  c:\gstreamer\plugins_list for device.

* GSTplayer closes without any notification and neither the song is played on the Emulator ?
->might be the registry is not proper, Delete the "registry.i686.bin" present in "epoc32\winscw\c\gstreamer\gstreamer-0.10" for emulator 
    and "c:\gstreamer\gstreamer-0.10" for device and re-run the gstregistrygenerator from eshell.

-----------------------------------------------------------------------------------------------------------------------------
