gstreamer / glib on powerpc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


gstreamer-0.10.29
glib-2.22.4
eglibc-2.9
gcc-4.3.2
linux powerpc 2.6.33.3

I'm having problems making straight forward and simple pipelines work correctly.  I've confirmed that my audio hardware is functional and using aplay, I can play a .wav file.

Always working with the same wav file, on my Ubuntu host using the above gstreamer and plugins built from the same tarballs, the wav file plays fine.  On my Powerpc target:

	$ gst-launch-0.10 filesrc location=root/M1F1-int16-AFsp.wav ! wavparse ! audioconvert ! alsasink
	Setting pipeline to PAUSED ...
	Pipeline is PREROLLING ...
	Pipeline is PREROLLED ...
	Setting pipeline to PLAYING ...
	New clock: GstSystemClock
	Got EOS from element "pipeline0".
	Execution ended after 5306969 ns.
	Setting pipeline to PAUSED ...
	Setting pipeline to READY ...
	Setting pipeline to NULL ...
	Freeing pipeline ...


There's no active complaint from gstreamer however, 5ms is too short for this particular wav file and nothing comes out the headphones..

Contrast the above with what happens on my Ubuntu host:

	$ gst-launch-0.10 filesrc location=root/M1F1-int16-AFsp.wav ! wavparse ! audioconvert ! alsasink
	Setting pipeline to PAUSED ...
	Pipeline is PREROLLING ...
	Pipeline is PREROLLED ...
	Setting pipeline to PLAYING ...
	New clock: GstAudioSinkClock
	Got EOS from element "pipeline0".
	Execution ended after 2983682238 ns.
	Setting pipeline to PAUSED ...
	Setting pipeline to READY ...
	Setting pipeline to NULL ...
	Freeing pipeline ...

There are 2 differences:  Duration of execution and GstSystemClock vs GstAudioSinkClock.

The other pipeline I have trouble with is this on my PowerPC target:

	$ gst-launch-0.10 audiotestsrc ! alsasink
	Setting pipeline to PAUSED ...
	ERROR: Pipeline doesn't want to pause.
	ERROR: from element /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0: Could not negotiate format
	Additional debug info:
	gstbasesrc.c(2756): gst_base_src_start (): /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0:
	Check your filtered caps, if any
	Setting pipeline to NULL ...
	Freeing pipeline ...

Of course, this works just fine on my Ubuntu host.

However, I think the real problem may be glib related but I'm not sure... If I crank up the debugging, I see a lot of this sort of thing:

0:00:01.180719727  1173 0x10017018 DEBUG                    bin gstbin.c:508:gst_bin_init:<GstBin at 0x10084098> (null)
0:00:01.244416303  1173 0x10017018 DEBUG               GST_CAPS gstpad.c:2143:gst_pad_get_caps_unlocked:<filesrc0:src> (null)
0:00:01.247998121  1173 0x10017018 DEBUG               GST_CAPS gstpad.c:2172:gst_pad_get_caps_unlocked:<wavparse0:sink> (null)
0:00:01.264648060  1173 0x10017018 DEBUG               GST_CAPS gstpad.c:1787:gst_pad_link_check_compatible_unlocked: (null)
0:00:01.265069999  1173 0x10017018 DEBUG               GST_CAPS gstpad.c:1788:gst_pad_link_check_compatible_unlocked: (null)
0:00:01.736997180  1173 0x10017018 DEBUG               GST_CAPS gstpad.c:2143:gst_pad_get_caps_unlocked:<filesrc0:src> (null)
0:00:01.737473817  1173 0x10017018 DEBUG                basesrc gstbasesrc.c:2576:gst_base_src_default_negotiate:<filesrc0> (null)
0:00:02.028507968  1173 0x1008daf8 INFO                wavparse gstwavparse.c:1129:gst_wavparse_calculate_duration:<wavparse0> Got duration (bps) 99:99:99.999999999
0:00:02.051951332  1173 0x1008daf8 DEBUG               wavparse gstwavparse.c:956:gst_wavparse_perform_seek:<wavparse0> seek: rate 1.000000, offset 40, end 40, segment 0:00:00.000000000 -- 99:99:99.999999999
0:00:02.052638847  1173 0x1008daf8 DEBUG               wavparse gstwavparse.c:994:gst_wavparse_perform_seek:<wavparse0> Creating newsegment from 0 to -1
0:00:02.053208271  1173 0x1008daf8 INFO               GST_EVENT gstevent.c:599:gst_event_new_new_segment_full: creating newsegment update 0, rate 1.000000, format GST_FORMAT_TIME, start 0:00:00.000000000, stop 99:99:99.999999999, position 0:00:00.000000000



It's almost as though glib is having trouble outputting.... On my host, the (null)s are actually replaced by the textual representation of the caps and the times are real-looking... 

I built the glib test suite and ran it on my target, and it ran fine (as fine as it does on my host)... Even the printf test reported all 'OK'...


I've pretty much run out of traction here and could really use some hints or guidance ... I can provide full debug transcripts if anyone is willing to look at them... 




[Index of Archives]     [Linux Embedded]     [Linux ARM Kernel]     [Linux for ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux Media]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux