Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes from jitsi/jebml #12

Open
wants to merge 47 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
c0155b5
Adding support for adding Simple Tags.
ddsouz Mar 17, 2016
26a087e
Reverting version back to 2.2 for Simple Tags.
ddsouz Mar 17, 2016
f2249cd
Merge pull request #1 from ddsouz/master
Mar 17, 2016
40b5ce2
Modifying unit test to add a Simple Tag.
ddsouz Mar 17, 2016
5b5031e
Merge pull request #2 from ddsouz/master
ddsouz Mar 17, 2016
63fbcc5
Changing the default lacing mode to NONE.
goku3989 Mar 17, 2016
3e89be1
Fixing some issues with Matroska standards compliance (as reported by…
May 26, 2016
657ea84
Updating MatroskaSimpleBlock to set the 'discardable' header bit to t…
Jun 2, 2016
fd81f7c
Fixing thread saftey issue with ProtoType type buffer
Sep 23, 2016
c1c50ef
Merge pull request #3 from Matroska-Org/master
Sep 23, 2016
5c2c01e
Fixing the fix. Apparently we aren't ready for read-only buffers.
Sep 23, 2016
63502ed
Now actually using readOnlyBuffer for ProtoType type buffers
Sep 23, 2016
2053f68
More refactors to use read-only buffers
Sep 23, 2016
badce29
Fixing issue with simple block flags caused by bit numbering of BitSet
Nov 30, 2016
860bcd4
Adding BitSetTest
Nov 30, 2016
991b7fe
Bumping version of JEBML in muxing app element
Nov 30, 2016
e7c2920
Adding missing mandatory tag child elements
Nov 30, 2016
58683e9
Add support for ColourSpace (#5)
kokorin Jul 10, 2017
f346bca
Nonseekable DataWriter Support (#4)
kokorin Jul 10, 2017
7d96585
Merge branch 'master' of https://github.com/mjameson-se/jebml
Jul 10, 2017
0977f1a
Cleanup of non-seekable writer
Jul 10, 2017
bdf16b6
Suppress unused warnings
Jul 10, 2017
dccbc8f
Updating cue creation based on updated Matroska spec
Jul 10, 2017
5bf67e3
Checkstyle changes
Jul 10, 2017
08d256c
Add lazy reading of frames (#6)
kokorin Aug 15, 2017
c64e7d1
Merge remote-tracking branch 'upstream/master'
Oct 23, 2019
da23a55
Bump version, add sources and javadoc jars
Oct 23, 2019
3106cc9
Update to latest gradle
Oct 23, 2019
08fd130
Add ability to get tags list
Oct 23, 2019
9d9141a
Add publishing repository that uses global properties
Oct 23, 2019
9a5cb86
Expose tags within a tag entry
Oct 25, 2019
3682b5a
Fix Java 12 deprecation warnings
Oct 25, 2019
0580979
Refactor MatroskaFile synchronization
Oct 25, 2019
03c7df0
Update spec, add parsing aids
Oct 25, 2019
cf1e79a
Add support for seek, reverse play
Oct 28, 2019
f4418c0
Fix checkstyle and remove findbugs
Oct 28, 2019
7aa93d4
Fix issue with reverse playout when hitting end of file
Oct 28, 2019
a158f4e
Improved logging
Oct 29, 2019
762109e
Fix for seek in reverse not giving the desired frame
Nov 4, 2019
c23b58b
feat: Adds initial maven configuration.
damencho Oct 10, 2024
a08c4db
feat: Adds GitHub actions build and test.
damencho Oct 10, 2024
9c9a025
feat: Adds release to maven central.
damencho Oct 10, 2024
1491873
fix: Adds distribution management needed by deploy/release.
damencho Oct 10, 2024
0a5139f
fix: Adds release phase.
damencho Oct 10, 2024
1299842
Fix cluster isFlushNeeded (don't create a cluster for each frame).
bgrozev Oct 15, 2024
09e9281
Various fixes (#3)
damencho Oct 21, 2024
5cec011
Fix frame timecode overflow (#5)
bgrozev Dec 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 99 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven

name: Java CI with Maven

on:
push:
branches: [ jitsi ]
pull_request:
branches: [ jitsi ]

env:
# Java version to use for the release
RELEASE_JAVA_VERSION: 11

jobs:
test:
runs-on: ubuntu-latest

strategy:
matrix:
java: [ 11, 17 ]

name: Java ${{ matrix.java }}

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: ${{ matrix.java }}
cache: maven

- name: Build and test with Maven
run: mvn -B verify

release:
if: github.ref == 'refs/heads/jitsi'
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: ${{ env.RELEASE_JAVA_VERSION }}
cache: maven
server-id: ossrh
server-username: SONATYPE_USER
server-password: SONATYPE_PW

- name: Install xmllint
shell: bash
run: |
sudo apt update
sudo apt install -y libxml2-utils

- name: Set tag Version
id: sets-tag-version
run: |
MVNVER=$(xmllint --xpath "/*[local-name()='project']/*[local-name()='version']/text()" pom.xml)
TAG_NAME="v${MVNVER/-SNAPSHOT/}"
echo "Tag name: ${TAG_NAME}"
echo "TAG_NAME=${TAG_NAME}" >> $GITHUB_OUTPUT

- name: Create Tag
uses: rickstaa/[email protected]
with:
tag_exists_error: false
tag: ${{ steps.sets-tag-version.outputs.TAG_NAME }}
message: "Automated tag"

- name: Set version
run: |
VERSION=`git describe --match "v[0-9\.]*" --long --dirty --always`
mvn -B versions:set -DnewVersion=${VERSION:1} -DgenerateBackupPoms=false

- name: Release to Maven Central
env:
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
SONATYPE_PW: ${{ secrets.SONATYPE_PW }}
run: |
cat <(echo -e "${{ secrets.GPG_KEY }}") | gpg --batch --import
gpg --list-secret-keys --keyid-format LONG
mvn \
--no-transfer-progress \
--batch-mode \
-Dgpg.passphrase="${{ secrets.GPG_PW }}" \
-Drelease=true \
-DskipTests \
deploy
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ build/
.classpath
.settings/
.project
target
82 changes: 48 additions & 34 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'findbugs'
apply plugin: 'checkstyle'
apply plugin: 'org.dm.bundle'
apply plugin: 'osgi'
apply plugin: 'maven-publish'


project.version = '2.4.4'
repositories {
mavenLocal()
mavenCentral()
}

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.dm.gradle:gradle-bundle-plugin:0.6.2'
}
}

dependencies {
compile 'org.slf4j:slf4j-api:1.7.5'
testCompile 'junit:junit:4.11'
Expand All @@ -28,38 +22,57 @@ checkstyleMain {
configFile = file("tools/csMain.xml")
}
checkstyleTest {
configFile = file("tools/csTest.xml")
}
findbugs {
toolVersion = "3.+"
effort = "max"
reportLevel = "high"
}
findbugsMain {
reports {
xml.enabled = false
html.enabled = true
}
}
findbugsTest {
reports {
xml.enabled = false
html.enabled = true
}
configFile = file("tools/csMain.xml")
}

// Workaround so that packageinfo files get included for OSGi package versions
sourceSets {
main {
resources.srcDirs = java.srcDirs
output.resourcesDir = output.classesDir
output.resourcesDir = output.classesDirs.first()
}
}

project.version = '2.2'
task sourcesJar(type: Jar, dependsOn: classes) {
from sourceSets.main.allSource
}
javadoc {
failOnError = false
}
task javadocJar(type: Jar, dependsOn: javadoc) {
from javadoc.destinationDir
}

bundle {
instructions << [
publishing {
publications {
"${project.name}Jar"(MavenPublication) {
from components.java
artifactId project.name
artifact sourcesJar {
classifier "sources"
}
artifact javadocJar {
classifier "javadoc"
}
}
}
if (project.hasProperty("maven_url")) {
repositories {
maven {
url maven_url
credentials(PasswordCredentials) {
username = maven_user
password = maven_password
}
}
}
}
}


jar {
manifest {
instructions << [
'Bundle-Name' : 'JEBML',
'Bundle-Version': version,
'Bundle-License': 'LGPLv2',
Expand All @@ -68,5 +81,6 @@ bundle {
'-nodefaultversion': true,
'-noee': true,
'majorMinor' : 1
]
]
}
}
165 changes: 165 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.jitsi</groupId>
<artifactId>jebml</artifactId>
<version>2.4.4-SNAPSHOT</version>

<name>jebml</name>
<description>Matroska muxer/demuxer</description>
<url>https://github.com/jitsi/jebml</url>

<organization>
<name>jitsi.org</name>
<url>https://jitsi.org</url>
</organization>

<developers>
<developer>
<id>org.jitsi</id>
<name>Jitsi Team</name>
<email>[email protected]</email>
</developer>
</developers>

<scm>
<url>https://github.com/jitsi/jebml</url>
<connection>scm:git:https://github.com/jitsi/jebml.git</connection>
<developerConnection>scm:git:https://github.com/jitsi/jebml.git</developerConnection>
</scm>

<licenses>
<license>
<name>The GNU Lesser General Public License, Version 2.0</name>
<url>https://github.com/jitsi/jebml/blob/master/LGPL.txt</url>
<distribution>repo</distribution>
</license>
</licenses>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<dokka.version>1.9.10</dokka.version>
</properties>

<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<release>11</release>
<compilerArgs>
<arg>-Xlint:all</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.0.0-M2</version>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.13</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>
</build>

<profiles>
<profile>
<id>release</id>
<activation>
<property>
<name>release</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jetbrains.dokka</groupId>
<artifactId>dokka-maven-plugin</artifactId>
<version>${dokka.version}</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>javadocJar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>

<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
</project>
3 changes: 2 additions & 1 deletion src/main/java/org/ebml/BinaryElement.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ public class BinaryElement extends Element
*/
public BinaryElement(final byte[] type)
{
super(type);
super();
setType(type);
}

public BinaryElement()
Expand Down
Loading