Sebastian Dröge
ab8100e664
flvdemux: Handle the encoder metadata the same as metadatacreator
...
And store it in our ENCODER tag.
2019-01-13 13:22:41 +00:00
Sebastian Dröge
c28a9d5d9c
flvmux: Add encoder metadata to the header
...
And also add a property for setting this. By default it has the same
value as the metadatacreator metadata.
Various software is using encoder instead of metadatacreator, others are
using them both for different purposes. As such it's useful to have
support for setting both here.
2019-01-13 13:22:41 +00:00
Maciej Wolny
ec655de288
Remove duplicate declarations
...
This causes 'redefinition of typedef ...' errors on GCC 4.5.3
2018-12-04 11:13:02 +00:00
Olivier Crête
fea0d0b1a4
flvmux: Force timestamps to always be increasing
...
https://bugzilla.gnome.org/show_bug.cgi?id=796382
2018-11-05 18:17:01 -05:00
Yeongjin Jeong
bd6a4aa10d
flvdemux: Use aac codec-data to adjust channels if needed
...
Flv does not support various channels in AAC stream format, for example
flvdemux detect an audio channels of 2(stereo) when the AAC really is 1(mono).
https://bugzilla.gnome.org/show_bug.cgi?id=797275
2018-10-12 14:35:37 -04:00
Yeongjin Jeong
8cae95a22d
flvmux: Don't refuse caps changes after starting to write headers in streamable mode.
...
Flv does support changing the stream type and stream properties
after the headers were started to be written, and for example H264
codec_data changes can be supported.
https://bugzilla.gnome.org/show_bug.cgi?id=797256
2018-10-11 15:35:24 -04:00
Seungha Yang
916ad09009
flvmux: Don't leak codec_data buffer
...
Use gst_buffer_replace() to prevent buffer leak
https://bugzilla.gnome.org/show_bug.cgi?id=797179
2018-09-20 11:35:31 +03:00
Seungha Yang
1cd5a5241f
flvmux: Don't omit streamheader from caps on downstream reconfigure
...
The reconfigured downstream elements (e.g., dynamically added sink element)
most likely require the flv streamheader
https://bugzilla.gnome.org/show_bug.cgi?id=797089
2018-09-06 15:52:09 -04:00
Olivier Crête
87b2b35fac
flvmux: Remove custom get_next_time implementation
...
GstAggregator now does the same thing in the simple implementation.
https://bugzilla.gnome.org/show_bug.cgi?id=795486
2018-05-16 22:23:36 +02:00
Olivier Crête
c2c7d110e5
flvmux: Don't wake up the muxer unless there is data
...
https://bugzilla.gnome.org/show_bug.cgi?id=795332
2018-04-26 15:41:54 -04:00
Olivier Crête
11297c3337
flvmux: Save the current position in the output segment
...
https://bugzilla.gnome.org/show_bug.cgi?id=795332
2018-04-26 15:41:54 -04:00
Olivier Crête
168fae813b
flvmux: Wait for caps from both srcs before writing header
...
Wait for caps on all pads to start writing data even when source is live.
Includes unit test by Havard Graff that simulates it.
https://bugzilla.gnome.org/show_bug.cgi?id=794722
2018-04-26 15:41:54 -04:00
Xavier Claessens
edd9c8f6b8
Meson: Generate pc file for all plugins in good
...
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:07:06 +01:00
Mathieu Duponchelle
fc9db36a1f
flvmux: unref return of aggregator_pad_peek_buffer
...
We ended up leaking every single buffer going through the
muxer, which is far from ideal
2018-04-13 23:01:20 +02:00
Mathieu Duponchelle
acb6090e47
flvmux: aggregate should not push EOS itself
...
Instead it is expected to return GST_FLOW_EOS, and let the
base class handle that.
2018-04-13 22:44:14 +02:00
Olivier Crête
96261ce220
flvmux: Duration & unit tests
...
The muxed buffers will not carry the duration of the
incoming buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=793457
2018-03-01 18:25:02 -05:00
Olivier Crête
c0bf793c05
flvmux: Set PTS based on running time
...
https://bugzilla.gnome.org/show_bug.cgi?id=793457
2018-03-01 17:15:02 -05:00
Mathieu Duponchelle
273d2c23d9
Port to latest GstAggregator segment API
...
The aggregator segment is now exposed on the src pad
https://bugzilla.gnome.org/show_bug.cgi?id=793945
2018-03-01 15:35:24 +01:00
Tim-Philipp Müller
072c070e6c
docs: remove pointless Since: 0.10.x markers
2018-02-15 00:58:38 +00:00
Tim-Philipp Müller
f459438278
Update for renamed aggregator pad API
...
https://bugzilla.gnome.org/show_bug.cgi?id=791204
2018-01-23 09:46:32 +00:00
Vincent Penquerc'h
8b814f6351
flv: flvmux ported to the GstAggregator
...
This makes it possible to create a flv file from a live source and not stop
when there are packet drops.
https://bugzilla.gnome.org/show_bug.cgi?id=782920
2017-12-20 15:34:11 -05:00
Nicolas Dufresne
986f3e15b2
flvdemux: Only set pixel-aspect-ratio if specified
...
If it's not specified, we should let the decoder figure it out.
Apparently the code was already in place, all was to make the code
conditional.
https://bugzilla.gnome.org/show_bug.cgi?id=787795
2017-10-05 21:20:19 -04:00
Nicolas Dufresne
307018da89
flvdemux: Don't pull passed the EOS
...
When a truncated FLV is provided and processed in pull mode, we
may endup trying to pull passed EOS, causing a rather confusing
warning as the pull offset is an integer overflow.
https://bugzilla.gnome.org/show_bug.cgi?id=787795
2017-10-05 21:20:19 -04:00
Nicolas Dufresne
cfc1638ca5
flvdemux: Ignore invalid H.264 codec data
...
This code basically skip over codec_data with empty payload. In
this case, the codec_data variable is the size of the header for
the CODEC part of Video Tag. The remaining is supposed to be the
H.264 codec data, hence should not be empty.
https://bugzilla.gnome.org/show_bug.cgi?id=787795
2017-10-05 21:20:19 -04:00
Nicolas Dufresne
18dbd49fb8
flvdemux: Avoid integer overflow on invalid CTS
...
If the CTS is negative an would lead to a negtive PTS, clip
the CTS so the PTS will be 0.
https://bugzilla.gnome.org/show_bug.cgi?id=787795
2017-10-05 21:20:19 -04:00
Nicolas Dufresne
b68d936ae0
Remove plugin specific static build option
...
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:41:19 -04:00
ChangBok Chae
3d19d6d8bc
flvdemux: remove duplicated segment initialization
...
It's also done in gst_flv_demux_cleanup().
https://bugzilla.gnome.org/show_bug.cgi?id=779106
2017-04-20 12:42:58 +01:00
Sean DuBois
2f707370d4
flvmux: Add metadatacreator property
...
Allow users to set metadatacreator value in the meta packet
https://bugzilla.gnome.org/show_bug.cgi?id=774131
2016-11-10 13:11:05 +02:00
Nicolas Dufresne
ad9e9bedfb
flvmux: Assume PTS is DTS when PTS is missing
...
This fixes issue for encoders that only sets the DTS. We assume that
there was no re-ordering when that happens.
https://bugzilla.gnome.org/show_bug.cgi?id=762207
2016-10-24 11:54:30 -04:00
Thibault Saunier
150edef830
Use the new API to post flow ERROR messages on the bus
...
https://bugzilla.gnome.org/show_bug.cgi?id=770158
2016-08-26 19:23:26 -03:00
Nirbheek Chauhan
b09f478e80
Add support for Meson as alternative/parallel build system
...
https://github.com/mesonbuild/meson
With contributions from:
Tim-Philipp Müller <tim@centricular.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)
Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded
... and many more. For more details see:
http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:21:12 +01:00
Jan Alexander Steffens (heftig)
b3cfbe575c
flvdemux: Push nominal bitrate tags
...
Add per-stream tag lists, which are used to send nominal
bitrate tags. When remuxing FLV => FLV, this now passes
through the upstream bitrate.
https://bugzilla.gnome.org/show_bug.cgi?id=768440
2016-07-07 10:21:21 +03:00
Jan Alexander Steffens (heftig)
ee44e60f7b
flvdemux: Refactor metadata tag handling
...
The FLV header cannot be trusted to indicate video or
audio presence, as the comments already mention. Don't
delay pushing tags waiting for streams that might never
appear.
Tags are now pushed immediately after they change:
- After parsing an onMetaData script object
- After negotiating caps on a pad
https://bugzilla.gnome.org/show_bug.cgi?id=768440
2016-07-07 10:21:21 +03:00
Sebastian Dröge
d6f597db20
flvdemux: Add comment about H263/MPEG4P2 being non-standard for FLV
...
They are however supported by ffmpeg and apparently used out there.
https://bugzilla.gnome.org/show_bug.cgi?id=768006
2016-06-27 09:20:35 +03:00
Vivia Nikolaidou
6ac02f8595
flvdemux: Add support for H263 and MPEG4 part2
...
https://bugzilla.gnome.org/show_bug.cgi?id=768006
2016-06-24 15:30:03 +03:00
Tim-Philipp Müller
51a0dc2df2
flvdemux: fix indentation
2016-06-10 13:51:39 +01:00
Tim-Philipp Müller
c51831a245
flvdemux: fix date parsing when there are trailing spaces
...
Fixes parsing of "Thu May 11 15:57:46 2006 ".
https://bugzilla.gnome.org/show_bug.cgi?id=767496
2016-06-10 13:51:39 +01:00
Seungha Yang
4e23d206b9
flvdemux: Fix unref assertion failure
...
Fix unref assertion failure
https://bugzilla.gnome.org/show_bug.cgi?id=767424
2016-06-08 22:01:11 -04:00
Thibault Saunier
dd9bfd03ec
flv: Handle the case where we do not get any CollectData in handle_buffer
...
https://bugzilla.gnome.org/show_bug.cgi?id=765320
2016-04-22 08:39:02 -03:00
Havard Graff
bcbb8fc1da
flvdemux: don't emit pad-added until caps are ready
...
In other words, gst_pad_get_current_caps should never return NULL
in a pad-added callback from the demuxer.
Added tests for the two special cases with AAC and H.264 where this
would happen every time.
https://bugzilla.gnome.org/show_bug.cgi?id=763780
2016-03-24 14:33:33 +02:00
Vineeth TM
1071309870
good: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Dave Craig
211c8492b3
gst: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps()
...
Remove calls to gst_pad_has_current_caps() which then go on to call
gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just
use gst_pad_get_current_caps() and check for NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=759539
2016-02-23 18:11:42 +02:00
Tim-Philipp Müller
df341f41dc
flvmux, rtpvp9depay: fix indentation
2016-02-19 15:04:15 +00:00
Havard Graff
7787f439fc
flvmux: plug leak(s) in error-scenario
...
https://bugzilla.gnome.org/show_bug.cgi?id=762210
2016-02-19 14:59:09 +00:00
Havard Graff
1e09e5bfe9
flvdemux: fix eos event leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=762209
2016-02-19 14:54:04 +00:00
Tim-Philipp Müller
ff422c112f
flvdemux: relax creation time parsing
...
Parse wrong timestamps like we used to write as well,
e.g. 10:9:42, and the hour might be without a leading
zero in any case.
2015-10-21 11:53:09 +01:00
Tim-Philipp Müller
31b61f3add
flvdemux: fix indentation
2015-10-21 11:45:35 +01:00
Tim-Philipp Müller
a6eb0e5489
flvdemux: extract both creation date and time
...
Before we only extracted the date part.
2015-10-21 11:45:14 +01:00
Tim-Philipp Müller
5413fd5f20
flvmux: fix writing of creation time
...
Don't write time as e.g. 11:9:42
2015-10-21 11:16:01 +01:00
Havard Graff
240b0ac9f6
flvdemux: output speex vorbiscomment as a GstTagList
...
This is what speexdec expects.
https://bugzilla.gnome.org/show_bug.cgi?id=755478
2015-10-11 11:12:27 +01:00