Commit graph

98 commits

Author SHA1 Message Date
Mark Nauwelaerts 893d6eb2a3 mpegtsmux: fix ported segment init 2012-06-16 19:22:59 +02:00
Matej Knopp 6229305d7b mpegtsmux: port to 0.11
https://bugzilla.gnome.org/show_bug.cgi?id=678130
2012-06-16 19:22:35 +02:00
Mark Nauwelaerts 40760117b1 mpegtsmux: sprinkle some more debug catering 2012-06-11 16:52:55 +02:00
Mark Nauwelaerts bef06e8c8d mpegtsmux: add SPN/PTS indexing capabilities
Based on patch by Andreas Frisch <fraxinas@opendreambox.org>

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=644890
2012-06-11 16:52:53 +02:00
Mark Nauwelaerts 05dcabfe16 mpegtsmux: avoid memcpy due to temporary packet buffer
... by writing directly into the output buffer instead.
2012-06-11 16:52:49 +02:00
Mark Nauwelaerts c2387d8bf6 mpegtsmux: plug leaks when freeing stream 2012-06-08 17:20:30 +02:00
Mark Nauwelaerts 351f3915db mpegtsmux: drain cached data upon EOS 2012-06-08 11:30:07 +02:00
Mark Nauwelaerts 0407e21ee3 mpegtsmux: allow for aligned output
... and refactor packet handling some more in the process.

Fixes #651805.
2012-06-08 11:30:05 +02:00
Mark Nauwelaerts ead42a5e27 mpegtsmux: improve m2ts timestamp interpolation
* a known PCR should really belong to a packet holding that PCR
* interpolation can be extended backward for initial packets (PAT, PMT)
2012-06-08 11:30:03 +02:00
Mark Nauwelaerts 8637fd69e5 mpegtsmux: tweak output buffer timestamping 2012-06-08 11:30:01 +02:00
Mark Nauwelaerts 4cc905409e mpegtsmux: more header clarifications and remove some redundant fields 2012-06-06 10:32:05 +02:00
Mark Nauwelaerts 38bb55c472 mpegtsmux: avoid PID collision for auto-generated PID 2012-06-06 10:31:59 +02:00
Edward Hervey fa4f487d8f tsmux: inline more code
With the previous commit, makes mpegtsmux 10 to 15% faster
2012-06-06 10:31:54 +02:00
Edward Hervey e3a02ce49a mpegtsmux: Don't use g_list_first ()
Seriously ...
2012-06-06 10:31:48 +02:00
Mark Nauwelaerts c195a015e1 mpegtsmux: also properly reset and free pad data 2012-06-06 10:31:43 +02:00
Mark Nauwelaerts ec109c390f mpegtsmux: refactor init using _reset to cater for proper reuse 2012-06-06 10:31:39 +02:00
Mark Nauwelaerts 8cb22ffeaa mpegtsmux: header cleanups and clarifications 2012-06-06 10:31:34 +02:00
Mark Nauwelaerts 59627a3e5d mpegtsmux: tweak buffer handling
... for clarity and to avoid mixing _peek/_pop
2012-06-06 10:31:29 +02:00
Mark Nauwelaerts 30c782e062 mpegtsmux: misc code cleanups and refactoring 2012-06-06 10:31:24 +02:00
Mark Nauwelaerts d97d49d237 mpegtsmux: avoid separate allocation for list of programs 2012-06-06 10:31:19 +02:00
Mark Nauwelaerts 281f48f66e mpegtsmux: rearrange define's 2012-06-06 10:31:14 +02:00
Mark Nauwelaerts 4d94e0fcf7 mpegtsmux: removed hacked event handling
Conflicts:

	gst/mpegtsmux/mpegtsmux.c

Reverted back to 0.10 state as it wasn't really ported
yet anyway.
2012-06-06 10:30:55 +02:00
Mark Nauwelaerts 74c73eba05 mpegtsmux: optimize output by aggregating packets
... rather than pushing each (small) packet in a separate buffer.
m2ts mode not yet optimized though.
2012-05-14 11:52:29 +02:00
Mark Nauwelaerts 6578797245 collectpads2: rename to collectpads 2012-04-17 15:22:59 +02:00
Alessandro Decina 4251b25308 mpegtsmux: fix pad iterator leak 2012-04-16 08:53:12 +02:00
Alessandro Decina 34cf1a1bbc mpegtsmux: don't leak force key unit events 2012-04-16 08:53:06 +02:00
Sebastian Dröge cda192b3b7 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 18:02:56 +02:00
Sebastian Dröge 1318a97e0a gst: Update versioning 2012-04-04 14:44:34 +02:00
Wim Taymans eff7037447 Merge branch 'master' into 0.11 2012-02-14 11:19:04 +01:00
Jan Schmidt debf4984df mpegtsmux: Trivial bug fix. Don't copy data from an uninited buffer. 2012-02-13 23:05:35 +11:00
Wim Taymans 1119f6ee41 Merge branch 'master' into 0.11
Conflicts:
	ext/chromaprint/gstchromaprint.c
	ext/mpeg2enc/Makefile.am
	ext/voaacenc/gstvoaacenc.c
	gst/dvbsuboverlay/gstdvbsuboverlay.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/sdp/gstsdpdemux.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	tests/examples/camerabin/gst-camera-perf.c
	tests/examples/camerabin/gst-camerabin-test.c
	tests/examples/camerabin2/gst-camerabin2-test.c
	tests/examples/mxf/mxfdemux-structure.c
	tests/examples/scaletempo/demo-main.c
2012-02-10 16:46:50 +01:00
Vincent Penquerc'h 27f21d31ac mpegtsmux: specify in template caps we only take raw/adts AAC format
This appears to be what this element supports.

https://bugzilla.gnome.org/show_bug.cgi?id=665394
2012-02-02 12:37:02 +00:00
Alessandro Decina f547336fdc mpegtsmux: update after collectpads2 changes 2012-01-31 08:44:04 +01:00
Vincent Penquerc'h 8147669971 plenty: fixup glib deprecations 2012-01-27 15:47:07 +00:00
Edward Hervey f70a623418 Merge remote-tracking branch 'origin/master' into 0.11-premerge
Conflicts:
	docs/libs/Makefile.am
	ext/kate/gstkatetiger.c
	ext/opus/gstopusdec.c
	ext/xvid/gstxvidenc.c
	gst-libs/gst/basecamerabinsrc/Makefile.am
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideoencoder.c
	gst/asfmux/gstasfmux.c
	gst/audiovisualizers/gstwavescope.c
	gst/camerabin2/gstcamerabin2.c
	gst/debugutils/gstcompare.c
	gst/frei0r/gstfrei0rmixer.c
	gst/mpegpsmux/mpegpsmux.c
	gst/mpegtsmux/mpegtsmux.c
	gst/mxf/mxfmux.c
	gst/videomeasure/gstvideomeasure_ssim.c
	gst/videoparsers/gsth264parse.c
	gst/videoparsers/gstmpeg4videoparse.c
2011-12-30 11:41:17 +01:00
Alessandro Decina 38a5719c53 mpegtsmux: unset the current PCR stream when starting a new unit
Unset the current PCR stream when starting a new unit so that afterwards a new
stream is selected as PCR and PAT and PMT tables are regenerated.
2011-12-18 17:32:11 +01:00
Alessandro Decina ee429ba7b8 mpegtsmux: fix key unit event handling when muxing both audio and video
Take only video buffers into account when deciding when to cut so that new units
start with a video keyframe.
2011-12-18 17:31:18 +01:00
Vincent Penquerc'h 1029619766 mpegtsmux: port to GstCollectPads2
I *think* the stream lock use is correct, not 100% sure.
2011-12-15 13:22:24 +00:00
Tim-Philipp Müller 65e8564343 mpegtsmux: fix build in uninstalled setup
Add -base libs includes to CFLAGS, fix order of LIBS.
2011-11-30 10:35:12 +00:00
Alessandro Decina 777c1f034f mpegtsmux: add support for force key unit events
Handle force key unit events outputting PAT and PMT when all_headers=TRUE
2011-11-30 08:56:48 +01:00
Vincent Penquerc'h 7521b597f4 various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Stefan Sauer d2f2955f18 collectpads: port API changes 2011-11-17 08:53:23 +01:00
Wim Taymans c8adc4f8c8 make request pads take _%u 2011-11-04 12:22:37 +01:00
Alessandro Decina fa6d174455 tsmux: remove unnecessary check
remove an if (best) check where best != NULL has already been checked
2011-08-21 10:54:52 +02:00
Sameer Naik 666807ed69 mpegtsmux: fix segfault if gst_collect_pads_pop () returns no buffer
In mpegtsmux_choose_best_stream () call if the gst_collect_pads_pop () call
returns no buffer (NULL), the plugin SegFaults in the gst_buffer_unref call.
To fix this we check if a valid buffer is returned before calling
gst_buffer_unref ().

Fixes bug #654416.
2011-07-12 07:51:21 +02:00
Andreas Frisch 4a7057048f mpegtsmux: fix pointer output in stream-not-associated debug output
https://bugzilla.gnome.org/show_bug.cgi?id=651050
2011-05-25 14:21:57 +01:00
David Schleef 02daafb9ae mpegtsmux: use gst debug for tsmux library 2011-05-18 12:06:38 -07:00
David Schleef 55633f5e8f mpegtsmux: Add byte-stream to h264 caps 2011-04-18 09:50:56 -07:00
David Schleef 4a8ba50cb2 mpegtsmux: Fix 64-bit printf format problem 2011-03-27 13:57:05 -07:00
Jan Schmidt 5111540ceb Use correct clock when checking whether to write a new PCR
The PCR clocks against the 27MHz SCR clock, so check it correctly
to avoid writing the PCR too often.

Partially fixes: #611046
2011-03-26 16:18:22 +11:00