Bug 65624

Summary: gstreamer corelements filesrc not found on Gstreamer SDK release for windows
Product: GStreamer SDK Reporter: Doudieu Siewe <wambenarcisse>
Component: Windows SDK DistributionAssignee: bugs
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: medium    
Version: 2012.11   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: main.c code

Description Doudieu Siewe 2013-06-11 00:21:48 UTC
Created attachment 80647 [details]
main.c code

I try to run the following code but it seems that "filesrc" element factory not exist, I'm running Gstreamer on windows 7.

my code is in attachment.
Comment 1 Sebastian Dröge (slomo) 2013-06-11 07:44:49 UTC
Can you get a debug log of GStreamer by setting GST_DEBUG=5 (environment variable) or calling gst_debug_set_default_threshold(GST_LEVEL_DEBUG) before calling gst_init()?
Comment 2 Doudieu Siewe 2013-06-11 15:06:46 UTC
How to redirect the debug log to a specific file??


the log return this: 

GST_ELEMENT_FACTORY gstelementfactory.c:467:gst_element_factory_make: no such element factory "filesrc"!
Comment 3 Andoni Morales Alastruey 2013-06-11 15:20:08 UTC
This looks very strange. Is the plugin listed with gst-inspect-0.10? Is you application loading the gstreamer dll's from the installation prefix or from a custom location?
Comment 4 Doudieu Siewe 2013-06-11 17:34:19 UTC
"gst-inspect filesrc" returns this:

Factory Details:
  Long name:	File Source
  Class:	Source/File
  Description:	Read from arbitrary point in a file
  Author(s):	Erik Walthinsen <omega@cse.ogi.edu>
  Rank:		primary (256)

Plugin Details:
  Name:			coreelements
  Description:		standard GStreamer elements
  Filename:		C:\gstreamer-sdk\0.10\x86\lib\gstreamer-0.10\libgstcoreelements.dll
  Version:		0.10.36
  License:		LGPL
  Source module:	gstreamer
  Source release date:	2012-02-20
  Binary package:	GStreamer (GStreamer SDK) 
  Origin URL:		http://www.gstreamer.com

GObject
 +----GstObject
       +----GstElement
             +----GstBaseSrc
                   +----GstFileSrc

Implemented Interfaces:
  GstURIHandler

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      ANY


Element Flags:
  no flags set

Element Implementation:
  Has change_state() function: gst_base_src_change_state
  Has custom save_thyself() function: gst_element_save_thyself
  Has custom restore_thyself() function: gst_element_restore_thyself

Element has no clocking capabilities.
Element has no indexing capabilities.

URI handling capabilities:
  Element can act as source.
  Supported URI protocols:
    file

Pads:
  SRC: 'src'
    Implementation:
      Has getrangefunc(): gst_base_src_pad_get_range
      Has custom eventfunc(): gst_base_src_event_handler
      Has custom queryfunc(): gst_base_src_query
      Has custom iterintlinkfunc(): gst_pad_iterate_internal_links_default
      Has getcapsfunc(): gst_base_src_getcaps
      Has setcapsfunc(): gst_base_src_setcaps
      Has acceptcapsfunc(): gst_pad_acceptcaps_default
      Has fixatecapsfunc(): gst_base_src_fixate
    Pad Template: 'src'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: "filesrc0"
  blocksize           : Size in bytes to read per buffer (-1 = default)
                        flags: readable, writable
                        Unsigned Long. Range: 0 - 4294967295 Default: 4096 
  num-buffers         : Number of buffers to output before sending EOS (-1 = unlimited)
                        flags: readable, writable
                        Integer. Range: -1 - 2147483647 Default: -1 
  typefind            : Run typefind before negotiating
                        flags: readable, writable
                        Boolean. Default: false
  do-timestamp        : Apply current stream time to buffers
                        flags: readable, writable
                        Boolean. Default: false
  location            : Location of the file to read
                        flags: readable, writable, changeable only in NULL or READY state
                        String. Default: null
  fd                  : File-descriptor for the file being mmap()d
                        flags: readable
                        Integer. Range: 0 - 2147483647 Default: 0 
  mmapsize            : Size in bytes of mmap()d regions
                        flags: readable, writable, changeable in NULL, READY, PAUSED or PLAYING state
                        Unsigned Long. Range: 0 - 4294967295 Default: 4194304 
  sequential          : Whether to use madvise to hint to the kernel that access to mmap pages will be sequential
                        flags: readable, writable, changeable in NULL, READY, PAUSED or PLAYING state
                        Boolean. Default: false
  touch               : Touch mmapped data regions to force them to be read from disk
                        flags: readable, writable, changeable in NULL, READY, PAUSED or PLAYING state
                        Boolean. Default: true
  use-mmap            : Whether to use mmap() instead of read()
                        flags: readable, writable, changeable only in NULL or READY state
                        Boolean. Default: false







But, it seems that it is present but I can't create some elements with it.
Comment 5 Doudieu Siewe 2013-06-12 11:43:46 UTC
I have done some others tests

filesink cannot be found I suppose that it is the same for all the other element factory in the corelement plugin
Comment 6 Andoni Morales Alastruey 2013-06-12 12:03:04 UTC
If gst-inspect is finding all the plugins and your application doesn't, it's because your are not setting correctly GST_PLUGIN_PATH.

You can either set GST_PLUGIN_PATH or launch your application from c:\gstreamer-sdk\0.10\<arch>\bin
Comment 7 Andoni Morales Alastruey 2013-06-12 12:06:42 UTC
And the log we have requested will give us more details on where it's looking for plugins. You only need to redirect the output to  a file:
test > gst.log 2>&1
Comment 8 Doudieu Siewe 2013-06-12 12:50:26 UTC
the gstreamer output when executing my little code is as follow:

0:00:00.006000000  9660   0254BD20 INFO                GST_INIT gst.c:613:init_pre: Initializing GStreamer Core Library version 0.10.36
0:00:00.007000000  9660   0254BD20 INFO                GST_INIT gst.c:614:init_pre: Using library installed in /c/gstreamer-sdk/0.10/x86/lib
0:00:00.008000000  9660   0254BD20 INFO                GST_INIT gstquery.c:107:_gst_query_initialize: init queries
0:00:00.009000000  9660   0254BD20 DEBUG                default gstelement.c:295:gst_element_base_class_init: type GstElement : factory 00000000
0:00:00.010000000  9660   0254BD20 DEBUG                default gstelement.c:295:gst_element_base_class_init: type GstBin : factory 00000000
0:00:00.012001000  9660   0254BD20 DEBUG                    bin gstbin.c:528:gst_bin_class_init: creating bin thread pool
0:00:00.014001000  9660   0254BD20 INFO                GST_INIT gstmessage.c:73:_gst_message_initialize: init messages
0:00:00.030002000  9660   0254BD20 INFO      GST_PLUGIN_LOADING gstplugin.c:350:_gst_plugin_initialize: registering 0 static plugins
0:00:00.031002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:558:gst_registry_add_feature:<registry0> adding feature 02547140 (bin)
0:00:00.031002000  9660   0254BD20 DEBUG        GST_REFCOUNTING gstobject.c:844:gst_object_set_parent:<bin> set parent (ref and sink)
0:00:00.032002000  9660   0254BD20 DEBUG                default gstelement.c:295:gst_element_base_class_init: type GstPipeline : factory 025471D0
0:00:00.033002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:558:gst_registry_add_feature:<registry0> adding feature 025471D0 (pipeline)
0:00:00.033002000  9660   0254BD20 DEBUG        GST_REFCOUNTING gstobject.c:844:gst_object_set_parent:<pipeline> set parent (ref and sink)
0:00:00.034002000  9660   0254BD20 INFO      GST_PLUGIN_LOADING gstplugin.c:255:gst_plugin_register_static: registered static plugin "staticelements"
0:00:00.034002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:452:gst_registry_add_plugin:<registry0> adding plugin 01A69D38 for filename "(NULL)"
0:00:00.034002000  9660   0254BD20 INFO      GST_PLUGIN_LOADING gstplugin.c:257:gst_plugin_register_static: added static plugin "staticelements", result: 1
0:00:00.035002000  9660   0254BD20 INFO            GST_REGISTRY gstregistry.c:1648:ensure_current_registry: reading registry cache: C:\Users\Doudieu\.gstreamer-0.10\registry.i686.bin
0:00:00.036002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistrybinary.c:559:gst_registry_binary_read_cache: File data at address 02E80000
0:00:00.037002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistrybinary.c:470:gst_registry_binary_check_magic: Reading/casting for GstBinaryRegistryMagic at address 02E80000
0:00:00.037002000  9660   0254BD20 INFO            GST_REGISTRY gstregistrybinary.c:591:gst_registry_binary_read_cache: No binary plugins structure to read
0:00:00.038002000  9660   0254BD20 INFO            GST_REGISTRY gstregistrybinary.c:616:gst_registry_binary_read_cache: loaded C:\Users\Doudieu\.gstreamer-0.10\registry.i686.bin in 0,003000 seconds
0:00:00.038002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1676:ensure_current_registry: Updating registry cache
0:00:00.039002000  9660   0254BD20 INFO            GST_REGISTRY gstregistry.c:1518:scan_and_update_registry: Validating plugins from registry cache: C:\Users\Doudieu\.gstreamer-0.10\registry.i686.bin
0:00:00.039002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1528:scan_and_update_registry: scanning paths added via --gst-plugin-path
0:00:00.040002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1549:scan_and_update_registry: GST_PLUGIN_PATH not set
0:00:00.040002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1559:scan_and_update_registry: GST_PLUGIN_SYSTEM_PATH not set
0:00:00.041002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1565:scan_and_update_registry: scanning home plugins C:\Users\Doudieu\.gstreamer-0.10\plugins
0:00:00.041002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1303:gst_registry_scan_path_internal:<registry0> scanning path C:\Users\Doudieu\.gstreamer-0.10\plugins
0:00:00.042002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1307:gst_registry_scan_path_internal:<registry0> registry changed in path C:\Users\Doudieu\.gstreamer-0.10\plugins: 0
0:00:00.043002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1570:scan_and_update_registry: scanning main plugins /c/gstreamer-sdk/0.10/x86/lib/gstreamer-0.10
0:00:00.043002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1303:gst_registry_scan_path_internal:<registry0> scanning path /c/gstreamer-sdk/0.10/x86/lib/gstreamer-0.10
0:00:00.044002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1307:gst_registry_scan_path_internal:<registry0> registry changed in path /c/gstreamer-sdk/0.10/x86/lib/gstreamer-0.10: 0
0:00:00.045002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1583:scan_and_update_registry: scanning DLL dir C:\Users\Doudieu\Desktop\divertissements\logiciels\gtk form\tactac\bin\Debug\lib\gstreamer-0.10
0:00:00.045002000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1303:gst_registry_scan_path_internal:<registry0> scanning path C:\Users\Doudieu\Desktop\divertissements\logiciels\gtk form\tactac\bin\Debug\lib\gstreamer-0.10
0:00:00.046003000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1307:gst_registry_scan_path_internal:<registry0> registry changed in path C:\Users\Doudieu\Desktop\divertissements\logiciels\gtk form\tactac\bin\Debug\lib\gstreamer-0.10: 0
0:00:00.046003000  9660   0254BD20 DEBUG           GST_REGISTRY gstregistry.c:1466:gst_registry_remove_cache_plugins:<registry0> removing cached plugins
0:00:00.047003000  9660   0254BD20 INFO            GST_REGISTRY gstregistry.c:1610:scan_and_update_registry: Registry cache has not changed
0:00:00.047003000  9660   0254BD20 INFO            GST_REGISTRY gstregistry.c:1683:ensure_current_registry: registry reading and updating done, result = 1
0:00:00.047003000  9660   0254BD20 INFO                GST_INIT gst.c:805:init_post: GLib runtime version: 2.34.2
0:00:00.048003000  9660   0254BD20 INFO                GST_INIT gst.c:807:init_post: GLib headers version: 2.34.2
0:00:00.048003000  9660   0254BD20 INFO                GST_INIT gst.c:456:gst_init_check: initialized GStreamer successfully
0:00:00.049003000  9660   0254BD20 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:467:gst_element_factory_make: no such element factory "filesrc"!
Comment 9 Andoni Morales Alastruey 2013-06-12 13:37:32 UTC
See comment #6, since you are executing your application from C:\Users\Doudieu\Desktop\divertissements\logiciels\gtk form\tactac\bin\Debug\ and not c:\gstreamer-sdk\0.10\x86\bin you need to set GST_PLUGIN_PATH to c:\gstreamer-sdk\0.10\x86\lib\gstreamer-0.10
Comment 10 Doudieu Siewe 2013-06-12 13:49:14 UTC
This is information is not clearly specify in the www.gstreamer.com web site about Gstreamer on windows so please do this for other people.
Comment 11 Doudieu Siewe 2013-06-12 15:18:06 UTC
This information is not clearly specify at www.gstreamer.com about gstreamer on windows plateform may be it will be usefull for other people.


I'm facing now with a little problem when running this little code:


<tactac.exe:6504>: GStreamer-WARNING **: Failed to load plugin 'c:\gstreamer-sdk\0.10\x86\lib\gstreamer-0.10\libgstdccp.dll': 'c:\gstreamer-sdk\0.10\x86\lib\gstreamer-0.10\libgstdccp.dll': The network path was not found.

<tactac.exe:6504>: GStreamer-WARNING **: Failed to load plugin 'c:\gstreamer-sdk\0.10\x86\lib\gstreamer-0.10\libgstdv.dll': 'c:\gstreamer-sdk\0.10\x86\lib\gstreamer-0.10\libgstdv.dll': The network path was not found.

<tactac.exe:6504>: GStreamer-WARNING **: Failed to load plugin 'c:\gstreamer-sdk\0.10\x86\lib\gstreamer-0.10\libgstvp8.dll': 'c:\gstreamer-sdk\0.10\x86\lib\gstreamer-0.10\libgstvp8.dll': The network path was not found.



but this dll are in the specify folder i.e 'c:\gstreamer-sdk\0.10\x86\lib\gstreamer-0.10\'

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.