Jump to content


Photo

GStreamer 1.0

gstreamer 1.0 openpli

  • Please log in to reply
2520 replies to this topic

Re: GStreamer 1.0 #1861 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 30 October 2015 - 18:15

@athoik,

 

Yes i did not test it before since I thaught it would not bring anything, but it well does.

 

Initing the pointer to NULL does solve also the problem instead off using the gboolean of the function.

 

so using.

	case GST_EVENT_TAG:
	{
		GstTagList *taglist;
		gst_event_parse_tag(event, &taglist);
		gchar *vcodec_value = NULL;  // initiate pointer to NULL at each tag event
		GST_INFO_OBJECT(self,"TAG %"GST_PTR_FORMAT, taglist);
		gst_tag_list_get_string (taglist, "video-codec", &vcodec_value);
		if (vcodec_value)
		{
			if(!strncmp(vcodec_value,"FFmpeg MPEG-4", 13) && self->mpeg4_no_fourcc);
			{
				self->stream_type = STREAMTYPE_XVID;
				self->use_dts = TRUE;
#ifdef PACK_UNPACKED_XVID_DIVX5_BITSTREAM
				self->must_pack_bitstream = TRUE;
#endif
				GST_INFO_OBJECT (self, "VIDEO_CODEC = %s set STREAMTYPE_XVID", vcodec_value);
			}
			g_free(vcodec_value);
		}
		ret = GST_BASE_SINK_CLASS(parent_class)->event(sink, event);
		break;
	}

Works also ok. instead of using the gboolean output off function.



Re: GStreamer 1.0 #1862 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 30 October 2015 - 18:26

@petike,

 

all x-h264 problems should be solved since quit a while(it a week or 2) thanks to mx3L on gst-1.6.

 

The build must well be done with latest (unpatched) gstreamer1.0-plugin-multibox-dvbmediasink

 

About builds with another sink I don't ...



Re: GStreamer 1.0 #1863 peti

  • Senior Member
  • 115 posts

+1
Neutral

Posted 30 October 2015 - 18:49

Thanks, will try. Now i'm using the original mediasink, because with yours some videos were not resuming after pause. I can send samples later (were downloaded from youtube)

T90 | 28.2E-23.5E-19.2E-13E-9E-4.8E-0.8W-4W

Zgemma H7S | OpenPLI develop branch


Re: GStreamer 1.0 #1864 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 30 October 2015 - 19:12

@athoik,

 

PS. eServiceMP3::getInfoString has this issue most probably

 

Yes and left and right same could occur (not only in servicemp3).

 

I now just was lucky to go straight into a segfault with a slight code change, (just adding g_free which is required to avoid mem-leak) ok some call it bad luck .. I call it luck :P  since if it would not have been like that the segfault would sooner or later show up in some cases. And it would have been difficult or eighter almost impossible to determine the real cause whitout using gdb or ... which on a vuduo2 could be used (if installed) but on a dm8000 for example is to heavy.

 

Would it be I good idea that:

 

Each time a person is working on a specific part off code where like in this case a pointer is used but the mem allocation is released however the var is not reset to NULL to correct that ? Since person is working on the specific part he will anyway test it.

 

p.s. I noticed since long that similar problems could occur with simple integer vars. That's why I by I function now always initiate them with a 0 or perhaps another int value depending of the goal. If not done it was not a segfault but very weird integer values which many times went out of loop or .. and yes keep you're imagination open as every think logic or not but mostly unlogic may happen and did happen sooner or later :P



Re: GStreamer 1.0 #1865 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 30 October 2015 - 19:29

Thanks, will try. Now i'm using the original mediasink, because with yours some videos were not resuming after pause. I can send samples later (were downloaded from youtube)

 

It's trough that in the multibox sink there is another approach concerning pause/unpause. This was required for most media and did worked for all media I tested 100 % .

 

Youtube was never tested by me, gues you found the media where it does not work  :P 

 

In the mean time a lot off other things changed and perhaps I can let it work again by a full reset off audio and video when you pause unpause media.

When time permits I'll do that But a tremendous amount off media needs to be tested to be shure and that will require pretty more then a day. Note it will also be much heavier for the stb when you pause or unpause.



Re: GStreamer 1.0 #1866 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 30 October 2015 - 20:45

GStreamer 1.6.1 is out!

Edited by athoik, 30 October 2015 - 20:46.

Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: GStreamer 1.0 #1867 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 30 October 2015 - 21:29

GStreamer 1.6.1 is out!

Nice but what's better on it then 1.6.0 ?



Re: GStreamer 1.0 #1868 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 30 October 2015 - 21:34

GStreamer 1.6.1 is out!

Nice but what's better on it then 1.6.0 ?


You can check release notes, but here you get the idea:

Bugs fixed in this release

    747612 : Valgrind 3.7.0 chokes on match-leak-kinds in gst.supp
    756069 : Gstreamer: Fix sample memory leaks
    756136 : gstreamer-1.6.0 doesn't compile on OS X 10.6: header file issue in gst-ptp-helper.c
    756645 : multiqueue: Improve incoming SEGMENT handling
    756810 : segment_to_stream_time and position_from_stream_time miscalculate when applied_rate < 0
    756898 : pad: gst_pad_probe_info_get_buffer_list() has wrong ownership transfer
    757065 : uri: incorrect behavior when merging uris ending in ..
    757257 : pad: Unblock blocking pad probes when receiving FLUSH_START in send_event() too
    752705 : rtpbuffer: Add map flag to skip padding
    754459 : decodebin: fix event leak with validate.hls.playback.play_15s.hls_bibbop scenario
    754567 : video: gst_video_calculate_display_ratio() should have out parameter
    754980 : audiobasesink: audio skipping when playing it repeatedly.
    755494 : gst-plugins-base fails to build with --with-pkg-config-path
    755770 : decodebin: Free unlinked chains at time of switching chains
    755867 : playsink: fix leak of audio sink
    755875 : subparse: < / i > should be handled like < /i >
    756611 : playbin: Leak of playbin on errors from the source element
    756893 : video: Missing closing parenthesis in video overlay composition cast macros
    750108 : splitmuxsink: post messages when fragments are being opened and closed
    753617 : splitmuxsink: allow non-video streams to serve as reference
    753622 : splitmuxsink: do not destroy the multiqueue & muxer when going to NULL
    753624 : splitmuxsink: initialize mux_start_time properly
    754212 : cutter: Fix buffer leak
    755611 : aacparse: wrong LOAS config reading
    755708 : matroskademux: assertion failed: (stream- > alignment < = G_MEM_ALIGN)
    755773 : gdkpixbufoverlay memleak
    756068 : qtmux: fix sample memory leak
    756154 : qtmux: doesn't compile on OS X 10.6: strnlen not available
    756171 : qtmux: fix date memory leak
    756387 : qtmux: Allow negotiating to S8 as a raw format but stop making it best choice
    756388 : qtmux: Add ProRes support
    756544 : qtdemux: Fix taglist leak
    756561 : qtdemux: fix caps leak
    756799 : auparse: fix event leak
    756967 : matroskamux: drops JPEG input buffers with just PTS and no DTS set on them
    757033 : scaletempo: Does not work properly with negative rates playback
    757087 : splitmux: unit test fails due to missing files
    756207 : videoaggregator: Setting aspect ratio crops the frame
    756567 : Wayland crash when called from gstreamer
    752132 : hls/m3u8: Update current position in all cases
    752230 : mpdparser: Parse xlink attributes from Period, AdaptationSet and SegmentList
    754523 : mssdemux: fragment download errors during live playback
    755108 : mssdemux: playback always starts at lowest bitrate
    755132 : mpdparser: If no Initialization is present in the SegmentBase, assume it is before the indexRange
    755134 : dashdemux: Properly handle relative and non-HTTP URIs for the headers/indices
    755239 : dvdspu: render PGS subtitles with the correct color
    755623 : audiomixer: Using absolute clock times results in 0..now buffers to be rendered at once, stalling the pipeline
    755680 : DVD navigation not working?
    755738 : GtkGst : gst_object_unref on GtkDrawingArea events if current media have no audio
    755754 : videoaggregator doesn't compile with in openembedded dora (glib 2.36.4)
    755759 : assrender: leaks gap events and sample in tags
    755824 : dashdemux: Correctly assign earliest pts instead of overriding it with first offset
    755840 : audiointerleave: make check fails with segmentation fault.
    755850 : unbreak GL introspection build
    755852 : missing sys/applemedia headers in gst-plugins-bad 1.6.0 tarball
    755892 : dtls needs openssl > = 1.0.1
    755969 : gtkglsink: Assertion in gst-inspect-1.0
    755981 : dtls: fix printf format on win32
    756001 : rtmpsrc: plug memory-leaks
    756065 : audioaggregator: fix build error
    756070 : id3tag: fix sample memory leak
    756181 : hlssink: inconsistent segment duration since 1.5.2 onwards
    756186 : dashdemux: cannot advance to next period
    756383 : dashdemux: Incomplete configure check for libgstnet
    756563 : pnmdec: causes multifilesrc to return internal data flow error (caused by a gst_pad_push() error)
    756578 : amcvideodec: Implement support for COLOR_QCOM_FormatYVU420SemiPlanar32mMultiView for decoding
    756592 : dtls: fixed name conflict with openssl on win32
    756617 : dshowvideosink: move/resize events are not handled in 64 bit
    756653 : srtpdec: buffer validations may fail if SRTP packets have padding flag set
    756861 : hlsdemux: crash / memory leak on broken (master) playlist
    756876 : srtp: Fix critical warning trying to retrieve SSRC from a non fb message
    757251 : ivfparse: recognize the vp9 bitstream

Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: GStreamer 1.0 #1869 MastaG

  • Senior Member
  • 1,531 posts

+118
Excellent

Posted 30 October 2015 - 23:38

I see some very nice changes regarding hls/mpeg dash streaming in 1.6.1.

So we're going to get a pull request for rif-media.c (which is already adapted to chris'  multibox sink)

@Athoik: Will you also do a pull request for upgrading to 1.6.1 ?


Edited by MastaG, 30 October 2015 - 23:38.


Re: GStreamer 1.0 #1870 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 31 October 2015 - 00:06

Yes a lot off changes again.

 

But my experience with gst-1.0 is very positif up to 1.5.1 After 1.5.1 perhaps left and right a couple of extra support has been added, But the over all media support is much less an it all became pretty unstable.

 

The 1.6.0 which was anounced as the new revolution in support and would have been THE gst version to use and super stable. Turned out to be to worst version ever made after 1.5.1 (which was quit ok).

 

Perhaps 1.6.1 is really better ...... I really lost my fait in the current gst-1 evolution.


Edited by christophecvr, 31 October 2015 - 00:07.


Re: GStreamer 1.0 #1871 peteru

  • Senior Member
  • 36 posts

+5
Neutral

Posted 31 October 2015 - 03:45

Regarding uninitialised variables...

 

gcc has quite a good set of warnings that can be enabled and one of these warnings is the use of a variable before initialisation. gcc will also find variables that are unused. It would probably be a very good idea to compile the code with all warnings enabled and then systematically work through the warnings to eliminate each one. Probably a big job initially, but in the long run definitely worth it for the improved stability and the ease with which you will be able to spot any new problems.

 

Try "man gcc" and look for "-Wall" option and friends.


Edited by peteru, 31 October 2015 - 03:46.

"Beauty lies in the hands of the beer holder."

 


Re: GStreamer 1.0 #1872 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 31 October 2015 - 07:49

@Athoik: Will you also do a pull request for upgrading to 1.6.1 ?


If you already updated to 1.6.1, go ahead and create the pull request. Else soon or late I'll do it.
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: GStreamer 1.0 #1873 peti

  • Senior Member
  • 115 posts

+1
Neutral

Posted 31 October 2015 - 13:52

made some further tests, if I create a 720x1280 resolution by cropping a bigger video, it's playing OK. The problem appears if I create by rotating (using Handbrake). No picture with either mediasink, or either GST (even 0.1)

sample here: http://1drv.ms/1Q1wiVT

thanks


T90 | 28.2E-23.5E-19.2E-13E-9E-4.8E-0.8W-4W

Zgemma H7S | OpenPLI develop branch


Re: GStreamer 1.0 #1874 saintomer1866

  • Senior Member
  • 48 posts

+2
Neutral

Posted 31 October 2015 - 17:10

I'm not sure what was in todays mediasink update from ATV but it makes my NBC stream look like it's being strobed, not light and dark just very jerky.

rolled back to the previous version again

 

St.O



Re: GStreamer 1.0 #1875 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 31 October 2015 - 17:20

@Athoik: Will you also do a pull request for upgrading to 1.6.1 ?


If you already updated to 1.6.1, go ahead and create the pull request. Else soon or late I'll do it.


@MastaG, 1.6.1 is commited. Also FMP4 should be ok now (standard OpenPLi dvbmediasink).
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: GStreamer 1.0 #1876 MastaG

  • Senior Member
  • 1,531 posts

+118
Excellent

Posted 31 October 2015 - 19:07

@Athoik you're the man!!
That was quick :-)

Thanks alot!

Re: GStreamer 1.0 #1877 MastaG

  • Senior Member
  • 1,531 posts

+118
Excellent

Posted 31 October 2015 - 20:07

So does it hurt if I use Chris' multibox-dvbmediasink?

Or should Chris revert his last two commits in his multibox-dvbmediasink? since it's fixed in gstreamer 1.6.1 now.



Re: GStreamer 1.0 #1878 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 31 October 2015 - 20:45

So does it hurt if I use Chris' multibox-dvbmediasink?
Or should Chris revert his last two commits in his multibox-dvbmediasink? since it's fixed in gstreamer 1.6.1 now.


Most probably only fourcc check for FMP4 required (https://github.com/O...nk/pull/3/files)
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: GStreamer 1.0 #1879 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 1 November 2015 - 08:40

So does it hurt if I use Chris' multibox-dvbmediasink?

Or should Chris revert his last two commits in his multibox-dvbmediasink? since it's fixed in gstreamer 1.6.1 now.

The FMP4 is already adpated in multibox , this was done already on last commit for the day it would be included.



Re: GStreamer 1.0 #1880 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 1 November 2015 - 09:55

@MastaG

 

with gst-1.6.1  (just updated) the multisink is ok on log this can be seen (it's not using the work-around for gst-1.6.0 or lower)

0:01:28.088472910  1772  0x1a98d80 INFO            dvbaudiosink gstdvbaudiosink.c:1474:gst_dvbaudiosink_change_state:<dvbaudiosink0> GST_STATE_CHANGE_READY_TO_PAUSED
0:01:28.098218725  1772 0x742ca690 INFO            dvbvideosink gstdvbvideosink.c:425:gst_dvbvideosink_event:<dvbvideosink0> EVENT stream-start
0:01:28.098898170  1772 0x742ca690 INFO            dvbvideosink gstdvbvideosink.c:425:gst_dvbvideosink_event:<dvbvideosink0> EVENT caps
0:01:28.099003355  1772 0x742ca690 INFO            dvbvideosink gstdvbvideosink.c:1307:gst_dvbvideosink_set_caps:<dvbvideosink0> caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, fourcc=(string)FMP4, framerate=(fraction)30000/1001, width=(int)1280, height=(int)720
0:01:28.099316688  1772 0x742ca690 INFO            dvbvideosink gstdvbvideosink.c:1367:gst_dvbvideosink_set_caps:<dvbvideosink0> MIMETYPE video/xvid -> STREAMTYPE_XVID
0:01:28.107214503  1772 0x742ca800 INFO            dvbaudiosink gstdvbaudiosink.c:739:gst_dvbaudiosink_event:<dvbaudiosink0> EVENT stream-start
0:01:28.112184429  1772 0x742ca690 INFO            dvbvideosink gstdvbvideosink.c:425:gst_dvbvideosink_event:<dvbvideosink0> EVENT segment

So for images using 1.6.0 or lower it works with the work around based on the absence off fourcc and video_codec tag.

For images using 1.6.1 its working based on fourcc info.





18 user(s) are reading this topic

0 members, 16 guests, 0 anonymous users


    Bing (2)