Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

VideoViewer: rotated (portrait phone) videos shown sideways when system decimal separator is a comma

Abierto Apto para principiantes
#2,020 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
csharp
Área
desktop

Línea de trabajo

El valor de rotación se analiza con la cultura actual en QuickLook.Plugin.VideoViewer/ViewerPanel.xaml.cs y de nuevo en QuickLook.Plugin.VideoViewer/Plugin.cs para el tamaño de la ventana. Empieza por esas dos llamadas a double.TryParse sobre el campo "Rotation" de MediaInfo. Está terminado cuando ambas analizan con CultureInfo.InvariantCulture y NumberStyles.Float, y una configuración regional ru-RU muestra un video vertical en posición correcta. Comprueba si la solución provisional rotation /= 1e3 sigue siendo válida.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Describe the bug Portrait videos recorded on iPhone (stored as 1920x1080 with a rotation flag) are previewed sideways. This is likely the root cause of #762, which was closed without being reproduced.

Cause MediaInfo returns the rotation as "90.000". The VideoViewer parses it with the current culture:

QuickLook.Plugin.VideoViewer/ViewerPanel.xaml.cs — double.TryParse(info?.Get(StreamKind.Video, 0, "Rotation"), out var rotation);
QuickLook.Plugin.VideoViewer/Plugin.cs — same call for the window size
When the decimal separator is a comma (ru-RU, uk-UA, many other locales), "90.000" fails to parse, so rotation stays 0 and no rotation is applied. With a dot as the group separator (de-DE etc.), it parses as 90000. The existing if (rotation > 360) rotation /= 1e3; workaround covers that case, but not the comma-separator case.

Proposed fix Parse the value with the invariant culture in both places:

double.TryParse(info?.Get(StreamKind.Video, 0, "Rotation"),
NumberStyles.Float, CultureInfo.InvariantCulture, out var rotation);
After this change, the /= 1e3 workaround is probably no longer needed.

To Reproduce

Windows region format ru-RU (decimal separator ,).
Take a portrait iPhone video (HEVC .MOV, rotation=-90 in ffprobe, MediaInfo Rotation = 90.000).
Preview it in QuickLook. It is shown sideways.
Change the decimal separator to . and restart QuickLook. It is shown correctly.
Environment

Windows 11 Home 24H2 (10.0.26100)
QuickLook 4.5.0.0 (Microsoft Store)

Lenguaje dominante
C#
Estrellas
25.2k
Forks
1.3k
Merge medio
10 d 4 h
PR fusionados (30 d)
2

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de QL-Win/QuickLook

Todos los issues de QL-Win/QuickLook

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.