Joseph Wallace
d394a244f0
Bugfix: Cluster test could have read past the end of the input buffer.
...
Move the cluster test inside the space-to-read check with the other tests.
2015-11-28 12:41:46 -05:00
Joseph Wallace
9de8fe483d
Remove spare whitespace on blank lines.
2015-11-28 12:41:46 -05:00
Joseph Wallace
e4258bfad3
Don't wait for video keyframes on audio-only streams.
2015-11-28 12:41:46 -05:00
Joseph Wallace
9cf4ed560c
Probe SimpleBlocks to determine which clusters start with a keyframe.
2015-11-28 12:41:45 -05:00
Joseph Wallace
6e11db5de2
Probe Tracks section of header to identify the video track.
...
We'll sync keyframes on that track next commit.
2015-11-28 12:41:45 -05:00
Joseph Wallace
9899413839
Add parser for bodies of Integer elements.
2015-11-28 12:41:45 -05:00
Joseph Wallace
f461ff6763
Buffer clusters to have time to probe them for metadata, like keyframes.
2015-11-28 12:41:45 -05:00
Joseph Wallace
def5a4cf6c
Implement EBML-aware parser.
...
* Loop over elements in input buffer.
* Most are literally copied with their contents without
inspection into the header or data buffers as appropriate.
* Some only copy the element header, to allow inspecting
children elements.
* Cluster elements are identified and used as sync points.
No probing is done for keyframes *yet*
2015-11-28 12:41:45 -05:00
Joseph Wallace
50c4984c78
Add functions to comprehend EBML tags.
2015-11-28 12:41:45 -05:00
Joseph Wallace
531d060d16
Adjust EBML parser writing protocol.
...
This will allow leaving unparsed data in the input buffer to wait for completion.
2015-11-28 12:41:45 -05:00
Joseph Wallace
13dc880d29
Yield sync point status from ebml_read directly.
...
This simplifies some fragile "was the last chunk a sync point?" logic.
2015-11-28 12:41:45 -05:00
Joseph Wallace
744b66c40e
Make the state-machine nature of the EBML parser more evident.
2015-11-28 12:41:45 -05:00
Joseph Wallace
15e7fc6e4a
Add comments & braces to format_ebml.c.
...
This should help make future changes to the code clearer.
2015-11-28 12:41:45 -05:00
Philipp Schafft
c1f0eaff8a
Fix: Fixed some smaller bugs such as leaks and performance improvements.
...
This is a first commit to correct minor problmes reported by
Denis Denisov. There is likely another commit to correct some more
such problems.
Thank you Denis Denisov.
2015-04-08 09:36:59 +00:00
Philipp Schafft
11d5dffd49
Cleanup: Removed tailing spaces
2015-01-10 18:53:44 +00:00
Philipp Schafft
28572be2ec
Feature: Extract metadata and export them to stats.xml
...
All metadata is now extracted from Vorbis streams and ICY streams
and exported as new <metadata> tag into admin/stats if specific
mountpoint is requested.
To testers:
- Please test with Ogg Vorbis streams.
- Please test with Ogg Vorbis + Theora streams.
- Please test chained Ogg streams.
- Please test with ICY streams.
close #2106
2014-12-09 16:08:27 +00:00
Philipp Schafft
93194594f7
better coding style, patch by ePirat. refs #2059
...
svn path=/icecast/trunk/icecast/; revision=19376
2014-11-30 20:32:30 +00:00
Philipp Schafft
8867d177c5
cleanup: converted printf() into ICECAST_LOG_DEBUG() but commented out so they do not spam logs for normal users.
...
svn path=/icecast/trunk/icecast/; revision=19368
2014-11-29 12:41:19 +00:00
Philipp Schafft
2b7cb1c641
LOG_{ERROR|WARN|INFO|DEBUG}() -> ICECAST_LOG_{ERROR|WARN|INFO|DEBUG}(); this is to avoid collision with LOG_INFO that is defined as part of syslog.
...
svn path=/icecast/trunk/icecast/; revision=19257
2014-10-31 08:46:58 +00:00
Philipp Schafft
7ae4664780
Replace the old logging macros with variadic argument macros. (patch by ePirat) ( close #2058 )
...
svn path=/icecast/trunk/icecast/; revision=19229
2014-10-09 10:39:13 +00:00
giles
818c1aff71
Add WebM support.
...
This is David Richard's webm support patch from the icecast-webm branch.
svn path=/icecast/trunk/icecast/; revision=18402
2012-06-13 21:24:23 +00:00
giles
e6cd0cff1f
Clarify that only these specific files are GPLv2 or v3.
...
Icecast itself remains GPLv2 only.
svn path=/icecast/branches/icecast-webm/; revision=18307
2012-05-24 18:32:06 +00:00
giles
1c0b051b80
Update copyright headers for the new code.
...
Also update the license statement to GPL2 or later.
svn path=/icecast/branches/icecast-webm/; revision=18303
2012-05-24 16:10:20 +00:00
giles
835408b7eb
Add David Richard's webm support patch.
...
This is a self-contained ebml parser. It just looks
for cluster boundaries and breaks the stream there.
svn path=/icecast/branches/icecast-webm/; revision=18297
2012-05-18 17:33:17 +00:00