prepare for v1.0.0

This commit is contained in:
RSWilli
2024-03-28 16:43:53 +01:00
parent 04ec17f96d
commit 48612c8880
5 changed files with 16 additions and 58 deletions

View File

@@ -12,22 +12,23 @@ jobs:
matrix: matrix:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, "macos-latest"] os:
- ubuntu-latest
# - windows-latest # see https://github.com/go-gst/go-gst/issues/64
- macos-latest
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Downgrade mingw to 11.2.0 # - name: Downgrade mingw to 11.2.0
if: runner.os == 'Windows' # if: runner.os == 'Windows'
run: choco install mingw --version 11.2.0 --allow-downgrade # run: choco install mingw --version 11.2.0 --allow-downgrade
- name: Setup GStreamer - name: Setup GStreamer
id: setup_gstreamer id: setup_gstreamer
uses: RSWilli/setup-gstreamer@5472e33168ba7b1f3bb01dc81ca067e263633824 uses: blinemedical/setup-gstreamer@v1.4.0
with:
version: 1.22.6
- name: checkout - name: checkout
uses: actions/checkout@v3 uses: actions/checkout@v3
- uses: actions/setup-go@v4 - uses: actions/setup-go@v5
with: with:
go-version: "^1.21.0" go-version: "stable"
- name: build - name: build
shell: bash shell: bash
run: | run: |

View File

@@ -12,14 +12,12 @@ jobs:
steps: steps:
- name: Setup GStreamer - name: Setup GStreamer
id: setup_gstreamer id: setup_gstreamer
uses: RSWilli/setup-gstreamer@5472e33168ba7b1f3bb01dc81ca067e263633824 uses: blinemedical/setup-gstreamer@v1.4.0
with:
version: 1.22.6
- name: Check out code into the Go module directory - name: Check out code into the Go module directory
uses: actions/checkout@v2 uses: actions/checkout@v2
- uses: actions/setup-go@v4 - uses: actions/setup-go@v4
with: with:
go-version: "^1.21.0" go-version: "stable"
- name: Check formatting - name: Check formatting
uses: Jerome1337/gofmt-action@v1.0.5 uses: Jerome1337/gofmt-action@v1.0.5
with: with:
@@ -33,4 +31,3 @@ jobs:
- uses: dominikh/staticcheck-action@v1.3.0 - uses: dominikh/staticcheck-action@v1.3.0
with: with:
install-go: false install-go: false
min-go-version: "1.21"

View File

@@ -1,40 +0,0 @@
GO_VERSION ?= 1.15
DOCKER_IMAGE ?= ghcr.io/tinyzimmer/go-gst:$(GO_VERSION)
GOPATH ?= $(shell go env GOPATH)
GOBIN ?= $(GOPATH)/bin
GOLANGCI_VERSION ?= v1.33.0
GOLANGCI_LINT ?= $(GOBIN)/golangci-lint
PLUGIN_GEN ?= "$(shell go env GOPATH)/bin/gst-plugin-gen"
$(GOLANGCI_LINT):
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOBIN) $(GOLANGCI_VERSION)
lint: $(GOLANGCI_LINT)
$(GOLANGCI_LINT) run -v
docker-build:
docker build . \
-f .github/Dockerfile \
--build-arg GO_VERSION=$(GO_VERSION) \
-t $(DOCKER_IMAGE)
CMD ?= /bin/bash
docker-run: docker-build
docker run --rm --privileged \
-v /lib/modules:/lib/modules:ro \
-v /sys:/sys:ro \
-v /usr/src:/usr/src:ro \
-v "$(PWD)":/workspace \
-w /workspace \
-e HOME=/tmp \
$(DOCKER_IMAGE) $(CMD)
docker-lint:
$(MAKE) docker-run CMD="make lint"
$(PLUGIN_GEN):
cd cmd/gst-plugin-gen && go build -o $(PLUGIN_GEN) .
install-plugin-gen: $(PLUGIN_GEN)

View File

@@ -8,9 +8,7 @@
See [pkg.go.dev](https://pkg.go.dev/github.com/go-gst/go-gst) references for documentation and examples. See [pkg.go.dev](https://pkg.go.dev/github.com/go-gst/go-gst) references for documentation and examples.
**This library has not been thoroughly tested and as such is not recommended for mission critical applications yet. If you'd like to try it out and encounter any bugs, feel free to open an Issue or PR. For more information see the [Contributing](#contributing) section.** Please make sure that you have followed the [official gstreamer installation instructions](https://gstreamer.freedesktop.org/documentation/installing/index.html?gi-language=c) before attempting to use the bindings or file an issue.
Recently almost all memory handling has been moved into the bindings. Some documentation may still reflect the original need to Unref resources, but in most situations that is not the case anymore.
## Requirements ## Requirements
@@ -25,6 +23,8 @@ For building applications with this library you need the following:
### Windows ### Windows
(also see https://github.com/go-gst/go-gst/issues/64)
Compiling on Windows may require some more dancing around than on macOS or Linux. Compiling on Windows may require some more dancing around than on macOS or Linux.
First, make sure you have [mingw](https://chocolatey.org/packages/mingw) and [pkgconfig](https://chocolatey.org/packages/pkgconfiglite) installed (links are for the Chocolatey packages). First, make sure you have [mingw](https://chocolatey.org/packages/mingw) and [pkgconfig](https://chocolatey.org/packages/pkgconfiglite) installed (links are for the Chocolatey packages).
Next, go to the [GStreamer downloads](https://gstreamer.freedesktop.org/download/) page and download the latest "development installer" for your MinGW architecture. Next, go to the [GStreamer downloads](https://gstreamer.freedesktop.org/download/) page and download the latest "development installer" for your MinGW architecture.

2
go.mod
View File

@@ -1,6 +1,6 @@
module github.com/go-gst/go-gst module github.com/go-gst/go-gst
go 1.21 go 1.22
require github.com/mattn/go-pointer v0.0.1 require github.com/mattn/go-pointer v0.0.1